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

rubyuser · 2013年01月10日 · 最后由 vkill 回复于 2013年01月10日 · 3729 次阅读

代码文件名 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

需要 登录 后方可回复, 如果你还没有账号请 注册新账号