サービス起動スクリプトから起動したJavaのプロセスで文字化けする件の対処法

コンソールから「java -jar hoge.jar」とした際には特に何も起きなかったのに、サービス起動スクリプトを作成して/etc/init.d以下に配置し、「service hoge start」のように実行するとファイルに出力した日本語が全て「?」になりました。

日本語が全て「?」になる原因はロケールの設定が日本語になっていないことです。
今回の件では、サービス起動スクリプトが実行される前に環境変数LANGの値がクリアされているようです。

なので、サービス起動スクリプトの中に「export LANG="ja_JP.UTF-8"」と書いておくと、きちんと日本語が出力されるようになります。