Mac OS Xのターミナルでjavacを使ってみたら、エラーメッセージが文字化けしています。まさかと思ったのですがSJISで出力されるんですね。
調べてみると対策は、
- ターミナルの設定の詳細の中の言語環境の文字エンコーディングを「日本語(Shift JIS)」にしたプロファイル作ってjavaのときはこちらを使う。
- コマンドラインで「javac -J-Dfile.encoding=UTF-8」のように入力するかaliasとして設定する
- 「JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8」を環境変数として設定する
- 「LC_ALL=en」として英語モードにする
があるようです(他にもあるようです)。
とりあえず3の方法で設定しました。ところが、javacやjavaを使うと何か出力があるたびに
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
と表示されてしまいます。これは鬱陶しい。
結局、2番めの方法をaliasとして.bashrcに設定することにしました。
alias javac='javac -J-Dfile.encoding=UTF-8'
ターミナルでちょこっと使う私にはこれで十分かな。
コメント