2008年7月25日

[ruby-list:45257] character encodings differ: US-ASCII and ISO-2022-JP

るびきちです。

US-ASCIIとISO-2022-JPは結合さえも許されていないのでしょうか?
Ruby 1.9で日本語メールをnet/smtpで送ろうとしてハマりました。

また、NKF.nkfでMIMEエンコードした結果のエンコーディングはISO-2022-JPになるのは
望ましい振舞いでしょうか?

require 'nkf'
NKF.nkf("-jE --mime", "あいうえお")
# => "=?ISO-2022-JP?B?GyRCJCIkJCQmJCgkKhsoQg==?="
NKF.nkf("-jE --mime", "あいうえお").encoding
# => #<Encoding:ISO-2022-JP (dummy)>
"ab" + NKF.nkf("-jE --mime", "あいうえお").force_encoding("US-ASCII")
# => "ab=?ISO-2022-JP?B?GyRCJCIkJCQmJCgkKhsoQg==?="
"ab" + NKF.nkf("-jE --mime", "あいうえお") rescue $!
# => #<ArgumentError: character encodings differ: US-ASCII and ISO-2022-JP>
"ab" + NKF.nkf("-jE", "あいうえお") rescue $!
# => #<ArgumentError: character encodings differ: US-ASCII and ISO-2022-JP>

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/


投稿者 xml-rpc : 2008年7月25日 01:42
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/75654
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。