encodeがややこしい

rss = RSS::Perser::force_encoding("utf-8")

って、読み込んだstringオブジェクトがutf-8とは限らないから指定しているのか。そんで、コンソール出力でcp932にエンコーディング。なんて面倒なんだ・・・。でも、元データはいじってはいけないので、表示するさいにエンコードするしかないので、我慢。

  puts("#{rss.channel().title().encode("cp932", "utf-8")}")

これでcp932にエンコードしている。

  puts("#{rss.channel().title()}")

こうすると文字化けでおそろしい事態になる。

プログラムデータを扱う原則
元のデータの内容を変更してはいけない。