実際に、Rails 3.2.1でjruby-1.6.7でREXML :: Documentを使用してXML文字列を解析する際に問題が発生しました。REXML :: Document.newがUS-ASCIIでエンコードされたXMLで解析できない
failed - can't convert NilClass into String
backtrace of deliver! org/jruby/RubyIconv.java:207:in `initialize'
org/jruby/RubyIconv.java:391:in `conv'
/opt/jruby/lib/ruby/1.8/rexml/encodings/ICONV.rb:12:in `encode'
/opt/jruby/lib/ruby/1.8/rexml/source.rb:55:in `encoding='
/opt/jruby/lib/ruby/1.8/rexml/source.rb:45:in `initialize'
/opt/jruby/lib/ruby/1.8/rexml/source.rb:11:in `create_from'
/opt/jruby/lib/ruby/1.8/rexml/parsers/baseparser.rb:121:in `stream='
/opt/jruby/lib/ruby/1.8/rexml/parsers/baseparser.rb:110:in `initialize'
/opt/jruby/lib/ruby/1.8/rexml/parsers/treeparser.rb:9:in `initialize'
/opt/jruby/lib/ruby/1.8/rexml/document.rb:227:in `build'
/opt/jruby/lib/ruby/1.8/rexml/document.rb:43:in `initialize'
:
私はそれがで失敗し、今のよう
doc = REXML::Document.new(xml_string)
を行うとき
<?xml version="1.0" encoding="US-ASCII"?><a><b>Something</b></a>
のような文字列は、それはJRubyの-1.6.5.1で動作するように使用されてい
ヘッダーを次のように変更する場合:
<?xml version="1.0" encoding="utf-8"?><a><b>Something</b></a>
すべて問題ありません。私はシステム上のlibを見逃していますか?これは既知の問題ですか? US-ASCIIは無効ですか?