任何人都可以爲我解釋這個結果嗎?REXML和編碼
#!/usr/bin/env ruby
# encoding: utf-8
require 'rexml/document'
doc = REXML::Document.new(DATA)
puts "doc: #{doc.encoding}"
REXML::XPath.each(doc, '//item') do |item|
puts " #{item}: #{item.to_s.encoding}"
end
__END__
<doc>
<item>Test</item>
<item>Über</item>
<item>8</item>
</doc>
輸出:
doc: UTF-8
<item>Test</item>: US-ASCII
<item>Über</item>: UTF-8
<item>8</item>: US-ASCII
看起來好像REXML並不關心文檔編碼,並開始爲每個項目自動探測編碼...難道我註定要encode('UTF-8')
每個字符串我拉儘管UTF-8是原始編碼,但是在REXML之外?這裏發生了什麼?
好question.New尺寸適合我。 – 2013-04-10 07:01:57