NetBeans の JavaFX Plugin の文字化けのバグ
記事を書いていて気づいたのですが、NetBeans の JavaFX Plugin には日本人にとって致命的なバグがあります。
詳細は gihyo.jp の連載の第 2 回に掲載される予定なのですが、はまる人がいるかもしれないのでここで先に書いておきます。
今のところ、NetBeans で日本語を使おうとすると、文字化けします。
通常、NetBeans ではプロジェクトのプロパティでソースのエンコーディングを決められるのですが、JavaFX のプロジェクトではソースのエンコーディングを指定できなくなっているのです。
そのため、デフォルトの UTF-8 でソースファイルは記述されます。
しかし、JavaFX のコンパイラはそれをデフォルトエンコーディングでコンパイルしてしまいます。つまり、Windows であれば MS932 がデフォルトエンコーディングなので、UTF-8 のファイルを MS932 として読み込んでしまうのです。
その結果が文字化け。
これを回避するには、NetBeans から行うことはできません。プロジェクトディレクトリの下の nbproject ディレクトリにある project.properties を編集することで回避します。
project.properties の一番下の方に
source.encoding=UTF-8
という記述があるはずです。
これを
source.encoding=windows-31j
のようにデフォルトエンコーディングに変更します。
そのままだとファイルは変更されないので、何でもいいので編集をしてから保存すればエンコードが変更されます。
これで日本語が出るようになります。