Ruby ruby 读取 utf-8 xml,谁知道?1.8.6

rubyuser · January 10, 2013 · Last by vkill replied at January 10, 2013 · 3709 hits

代码文件名 parsexml.rb,保存方式 utf-8,其中 testxml.xml 保存方式 utf-8 #encoding:utf-8 require 'rexml/document' include REXML input = File.new("F:\testxml.xml")
puts input doc = Document.new(input) puts doc root=doc.root puts root 无法运行,读取不出来,错误: parsexml.rb:1: Invalid char \357' in expression parsexml.rb:1: Invalid char\273' in expression parsexml.rb:1: Invalid char `\277' in expression. 如果把 parsexml.rb 以 ANSI 保存,则读取的中文是乱码,求助

ruby 1.8 是 $KCODE='UTF-8' ,1.9 才是 #encoding: utf-8

REXML 默认的 encoding 就是 utf-8,所以 xml 应该是 utf-8 的,参考 http://ruby-doc.org/stdlib-1.8.6/libdoc/rexml/rdoc/REXML/Encoding.html

You need to Sign in before reply, if you don't have an account, please Sign up first.