jdk1.6.0_10でのGUIアプリ文字化け解消方法
Ubuntuで、Groovyを使って常駐アプリ作る・その2 | ゲンゾウ用ポストイット で、 Ubuntu 上で AWT 上の文字列が化ける(豆腐:□になってしまう)問題がありました。
試しに Windows + jdk1.6.0_10 で同様のプログラムを動かして見たところ、問題なく動作していました。
そこで文字化けする原因をもう少し調査してみました。
Swingも化ける??
試しにjdk1.6.0_07で文字化けせずに表示で来ていた Swing をコンパイルして実行。
すると、 Swing アプリも文字化けしていました。
どうやらjdk1.6.0_10の設定(?)がまずそう。
Googleでもう少し調べてみた。
Jdk1.6.0_10が怪しい?
JDK 1.6.0 u10 - ねこら対策研究要塞日誌@はてな ←たまたま、こちらのサイトをRSS購読していて、たまたまわかりました。
jdk1.6.0_10は最近リリースされた(正式リリースはまだ?)jdkのようです。もしかして、正式に日本語対応ができていない、あるいは不具合の一つなのかな??
jdk1.6.0_7 では日本語のフォント設定が正常にできていたのですが、 jdk1.6.0_10 でできていないので、もしかしたら jdk1.6.0_7 のフォント設定をコピーしたらうまく動くのでは?ということで試してみた。
Jdk1.6.0_10で日本語フォント設定
実は設定方法がよくわからなかったので、以下の方法で 1.6.0_7 から 1.6.0_10 にフォント設定をコピーしてみた。
$ sudo cp jdk1.6.0_10/jre/lib/fontconfig.properties.src jdk1.6.0_10/jre/lib/fontconfig.properties.src.back
$ sudo cp java-6-sun-1.6.0.07/jre/lib/fontconfig.properties* jdk1.6.0_10/jre/lib/
実行後、Swing、AWTアプリを実行すると・・・できた!
よかった♪
ディスカッション
コメント一覧
まだ、コメントがありません