NetBeans IDE 7.3 で、i18n.rbを開こうとしたらエンコードで怒られた
「ほにゃらら/i18n.rbは、エンコーディングwindows-31jでは正しく開けません。続行して開きますか。」と言われた。
怒られたってほどでもないね。
(ちなみにここで「いいえ」を選択すると、同じダイアログがもっかい出る。なんぞ。)
プロジェクトのプロパティを見ると、エンコードはUTF-8になっている。
ググると色々ひっかかるがこちらを参照すると、以下の記述がある。
エンコーディングの指定はプロジェクト管理下のファイルでは有効ですが、プロジェクト外のファイルは引き続き NetBeans を起動したプラットフォームのデフォルト(例えば Windows では ShiftJIS) が使われます。
なんたるちーや。
さて、先のページには対策が書いてある。
曰く、
NetBeans のインストールディレクトリに行って etc フォルダを探します。そこに netbeans.conf というファイルがあります。このファイルは、既定のコマンド行引数を含む、NetBeans のある設定を保持します。これらは、新規に NetBeans IDE を開始したときに送られるパラメータです。すべての引数は netbeans_default_options という変数の二重引用符の中にあり、それぞれは空白で区切られています。
NetBeans で UTF-8 を強制的に使うには、netbeans_default_options のリストのどこかにこのパラメータを置くだけです:
-J-Dfile.encoding=UTF-8
NetBeansインストールフォルダ配下のetcフォルダを覗くとnetbeans.confがあるので、これの
netbeans_default_options="-J-client -J-Xss256m -J-Xms512m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dsun.awt.disableMixing=true"
こんなん書いてあるものを、以下にようにする。
#netbeans_default_options="-J-client -J-Xss256m -J-Xms512m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dsun.awt.disableMixing=true -J-Dfile.encoding=UTF-8"
NetBeansを落として立ち上げなおす。
すると、こんどは怒られずにi18n.rbを開ける。
もしそんとき「ほにゃらら/i18n.rbは、エンコーディングUTF-8では正しく開けません。続行して開きますか。」などと言われたら、文字化けしつつ開いてる状態でうっかり保存してるかもしれない。
gemを一旦アンインストールして入れなおそう。
8月 3, 2013 土曜日 at 2:37 pm