Eclipseにてrubyアプリを実行した時にコンソールのUTF-8文字列が文字化けする現象
以下の様なコードで実行する。
jpn_utf8.rb
# coding: utf-8
p "日本語サンプル"
この時、jpn_utf8.rbのエンコードはUTF-8であること。
(パッケージエクスプローラのjpn_utf8.rbを右クリック[プロパティ]>[リソース]>[テキスト・ファイルのエンコード]がUTF-8となっていること。)
実行すると以下の様に表示される。
“\u65E5\u672C\u8A9E\u30B5\u30F3\u30D7\u30EB”
[実行]>[実行構成]の左ペインから[jpn_utf8.rb]を選択。
[共通]タブ>[エンコード]を確認するも、[デフォルト – 継承 (UTF-8)]が選択されている。
ググると以下の記載が多い。
(要約)「eclipse.iniに “-Dfile.encoding=utf-8” の記載を追加せよ」
該当ファイルに追記し、Eclipseの再起動を行うも、現象再現。
どうもこの対応は、他の文字化け現象への対応のようだ。
ググり続けると以下のサイトを発見。
以下のように対処。
#! ruby -Ku
print(“こん”)
これで日本語がUTF-8で打てる
従ってコード頭に追記すると、コンソールに化けずに表示された。
うえはらゆうきさんに感謝。
付録。
変更後のjpn_utf8.rbは以下の様になる。
#! ruby -Ku
# coding: utf-8
p "日本語サンプル"
追記(2012/11/19)。
当現象はpにて出力したときに再現し、putsにて出力した場合にいは再現しない事が確認できた。
なお、本対応自体はpによる出力に対し有効。
0
19
11月
Posted:
11月 19, 2012 月曜日 at 4:30 pm