From: 山崎雄介 <y-yamasaki / saeilo.co.jp> Subject: [ruby-list:45263] Re: nkf -j problem? Date: Fri, 25 Jul 2008 11:45:54 +0900 > 環境によって同じ文字なのに推測に失敗するほうが問題な気がしますが、 > それはともかく、こちらの環境では変換できてるようです。 環境ではなく、入力文字コードが異なるからです。 GNU/LinuxでもShift_JIS→JISの推測変換はできます。 require 'kconv' RUBY_VERSION # => "1.8.6" RUBY_PATCHLEVEL # => 114 euc = "鬱" sjis = NKF.nkf("-Es", "鬱") # EUC-JP→JIS NKF.nkf("-j", euc) # => "" # Shift_JIS→JIS NKF.nkf("-j", sjis) # => "\e$B]5\e(B" Ruby 1.9だと変換できていますね。 require 'kconv' RUBY_VERSION # => "1.9.0" RUBY_PATCHLEVEL # => 0 euc = "鬱" sjis = NKF.nkf("-Es", "鬱") # EUC-JP→JIS NKF.nkf("-j", euc) # => "\e$B]5\e(B" # Shift_JIS→JIS NKF.nkf("-j", sjis) # => "\e$B]5\e(B" -- rubikitch Blog: http://d.hatena.ne.jp/rubikitch/ Site: http://www.rubyist.net/~rubikitch/