ページ

2008年1月3日木曜日

『君の言葉を信じたい 素敵な嘘だから』

eclipseでRubyを勉強しているんだが、標準出力で早速文字化けw悩まされるのはいつも文字コードだ。なんかそろそろ、文字化けしたものを見て、どの文字コードからどの文字コードへの変換で文字化けが起こってるのか判別出来そうだ。ちなみにUTF-8→SJISへの日本語変換時の文字化けは、虫編のつく感じがつらつらと並ぶ。一番よく遭遇する文字化け。

で、調べてみると、eclipseのコンソールはOS依存なので、OSの文字コードで表示されるとのこと。
RubyのクラスファイルがUTF-8なので、それからWindowsの文字コードであるSJISのコンソールに文字列が行くと当然文字化けするよな、と言う話。
じゃあどう回避するのかと言うと、
puts "檻の中の花".tosjis
と言う具合にしなければならない。面倒くさいよな。
Ruby1.9からだと、$stdoutとか言う環境オブジェクト内のメソッドで明示的にSJISに設定できるらしいんだけど、僕が使ってるバージョンは残念ながら1.8だ。たまたま最初に見た入門サイトで示されてたバージョンが1.8だから。まあちょっとした勉強だから別にどっちでもいいんだけどね。

0 件のコメント: