モンハンしたかったので頑張って調べました(ぉ。
OS X 10.5.XにKaid Commanderをインストールして、jKaiUIを使うと文字化けするっぽいです。OS X 10.4以前だと大丈夫です。
解決方法
Kaid Commander.app/Contents/Resources/GUI/jKaiUI.app/Contents/Info.plist に以下のパッチ当てて下さい。
--- Info.plist.orig 2007-04-05 05:27:26.000000000 +0900 +++ Info.plist 2008-05-23 00:11:01.000000000 +0900 @@ -24,6 +24,11 @@ <dict> <key>MainClass</key> <string>pt.jkaiui.JKaiUI</string> + <key>Properties</key> + <dict> + <key>file.encoding</key> + <string>Shift_JIS</string> + </dict> <key>JVMVersion</key> <string>1.5*</string> <key>ClassPath</key>
文字化ける理由
以下の検証コードを実行するとわかります。
import java.nio.charset.Charset; class Test{ static public void main(String[] args){ System.out.println(Charset.defaultCharset()); } }
10.5ではUTF-8、10.4以前ではShift_JISが返ってくるはずです。つまり、デフォルトのキャラセットが変わっていたと言うことですね。
直し方を見つけるまでの格闘
javaの起動オプションで、デフォルトのcharsetを変えることができます。-Dfile.encoding=Shift_JIS、を渡すだけです。まあ簡単。しかし、この方法で、
java -Dfile.encoding=Shift_JIS -jar 'Kaid Commander.app/Contents/Resources/GUI/jKaiUI.app/Contents/Resources/Java/jKaiUI.jar'
と起動しましたが、これだと動作が遅過ぎてまったく使い物になりませんでした。なんでだ?? 本家の方はJavaApplicationStubみたいなものを使って起動してるみたいです。これが速さの原因?? この辺全くわかりません。まあでも、悩んでも仕方がないので、 JavaApplicationStub について調べたところInfo.plistでjavaの起動オプションが調整できそうってのを見つけました。と言うことで、冒頭の解決方法に至ります。