RSSなどの、UTF8エンコードのインプットをEUC形式に変換して出力したい
基本が全然できてないので、すげぇハマッた。(ノ∀`)アチャー
ダメな例
require 'open-uri' require 'kconv' require 'pp' $KCODE = 'u' data = open('http://d.hatena.ne.jp/utadaq/rss').read pp Kconv.kconv(data,Kconv::EUC,Kconv::UTF8)
こうしてみると一目瞭然なんだけど、$KCODEの設定が違うとEUCの出力がうまくいかない(当然?)
そこで、
require 'open-uri' require 'kconv' require 'pp' $KCODE = 'e' data = open('http://d.hatena.ne.jp/utadaq/rss').read pp Kconv.kconv(data,Kconv::EUC,Kconv::UTF8)
とするとうまくいってうれしい。
(実際は、作成していた別のクラスの部分で$KCODE='u'と言う処理が入っていて、原因が見つけられずにはまったりした。)