killistさんノート

killistさんの記録帖

RSS 2.0

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を一旦アンインストールして入れなおそう。

Categories: 未分類 Tags: ,

killist


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

Category