#navi(../)
* CygwinでWindows版JDKの文字化けを防ぐ方法 [#o692c314]
WindowsにOracleのJDKをインストールしてbashからjavaやjavacコマンドを実行すると文字化けします。~
これは、デフォルト設定のCygwinではUTF-8になっているためです。~
最近のソースはほとんどUTF-8なので、Cygwinを使う方は、UTF-8のままでviやemacsを使いたい方が多いと思います。~
そこで、java/javacコマンドに文字コードのオプションを渡すことにより文字化け解消やファイルの文字コードをUTF-8に設定する方法を以下に記します。~
#contents
#htmlinsertpcsp(win-top.html,win-sp.html)
* Cygwin環境 [#q1b7c3ed]
localeコマンドを実行したときの出力です。~
utf8になているのが確認できます。
$ locale
LANG=ja_JP.utf8
LC_CTYPE="ja_JP.utf8"
LC_NUMERIC="ja_JP.utf8"
LC_TIME="ja_JP.utf8"
LC_COLLATE="ja_JP.utf8"
LC_MONETARY="ja_JP.utf8"
LC_MESSAGES="ja_JP.utf8"
LC_ALL=
* Cygwin上でWindowsのjava/javacを起動(文字化け) [#l0303971]
Windows版のJDKをインストールしてjava/javacコマンドを実行したときの出力です。~
文字化けしてます。
-java
#ref(01.png)
-javac
#ref(02.png)
* 文字化け対処オプション [#cfb258f2]
以下のオプションにより、文字化けがなくなります。
- java
java -Duser.language=ja -Dfile.encoding=UTF-8
user.language=jaで日本を指定し、file.encodingでUTF-8を指定しています。~
jaをenにすれば英語出力されますよ。
#ref(03.png)
-javac
javac -J-Dfile.encoding=UTF-8
file.encodingでUTF-8を指定しています。~
#ref(04.png)
* .bashrcに記述すれば便利 [#uce37ff7]
毎回上記のオプションをタイプするのは面倒なので、.bashrcに以下のaliasを追加します。
alias javac='javac -J-Dfile.encoding=UTF-8'
alias java='java -Duser.language=ja -Dfile.encoding=UTF-8'
以上、WindowsのCygwin環境でjava, javacを快適に使用する方法でした。
#htmlinsertpcsp(win-btm.html,win-sp.html)