Jakarta Commons Launcher

Linux上でJakarta Commons Launcherを使ってJavaのクラスを実行するとデフォルトエンコーディングがASCIIになってしまう。
今回の場合困るところといえば、Log4j経由でSystem.outに出しているところがデフォルトエンコーディングを使っているので2バイト文字が全部?になってしまう。
しょうがないのでSystem.setOut()でエンコード指定したPrintStreamをセットしたもののそれでも直らない。
ConsoleAppendarを見てみるとOutputStreamWriterを使っているので、ここもデフォルトエンコーディングに依存…。
しょうがないのでCommonsLoggingのSimpleLogを使うようにして回避。
落とし穴がたくさんありすぎて最悪です。