モンハンしたかったので頑張って調べました(ぉ。
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の起動オプションが調整できそうってのを見つけました。と言うことで、冒頭の解決方法に至ります。