From: siena@... (Siena. / SHINAGAWA, Norihide) Date: 2003-03-21T22:33:44+09:00 Subject: [ruby-list:37393] Re: REXML の日本語エンコーディングについて Siena. です。 # ruby-list に書くのは久しぶり ^^; 》def write_xml(filename) 》 File.open(filename, "w") do |file| 》 doc = REXML::Document.new() 》 doc << REXML::XMLDecl.new(Version, Encoding, Standalone) 》 doc << REXML::Element.new("doc-element") 》 doc.root.add_element("element1").add_text('あいうえお') ここ、'あいうえお' を UTF-8 に変換してから add_text するとうまくいくと思います。 メソッドで操作する時に REXML 側でエンコーディングを 変換したりはしてくれてないようですので。 メソッドで渡される文字列のエンコーディングが何かを REXML は知りませんし。 》C:\Documents and Settings\tousaki\My Documents\MyProg\Ruby>ruby ./write_xml.rb 》/cygdrive/c/Usr/Ruby/lib/ruby/site_ruby/1.6/rexml/encodings/EUC-JP.rb:11:in `u8toeuc': illegal UTF-8 sequence (a4) 》(Uconv::Error) 》 from /cygdrive/c/Usr/Ruby/lib/ruby/site_ruby/1.6/rexml/encodings/EUC-JP.rb:11:in `to_euc_jp' 指定した Encoding はファイルに書き出されている時の文字エンコーディングです。 UTF-8 から EUC-JP に変換しようとして、例外が上がってます。 # これとは別に REXML の日本語サポートは十分ではないような気もしてたり --- Siena.