このエントリーをはてなブックマークに追加


CygwinでWindows版JDKの文字化けを防ぐ方法

WindowsにOracleのJDKをインストールしてbashからjavaやjavacコマンドを実行すると文字化けします。
これは、デフォルト設定のCygwinではUTF-8になっているためです。
最近のソースはほとんどUTF-8なので、Cygwinを使う方は、UTF-8のままでviやemacsを使いたい方が多いと思います。
そこで、java/javacコマンドに文字コードのオプションを渡すことにより文字化け解消やファイルの文字コードをUTF-8に設定する方法を以下に記します。


Cygwin環境

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を起動(文字化け)

Windows版のJDKをインストールしてjava/javacコマンドを実行したときの出力です。
文字化けしてます。

  • java
    01.png
  • javac
    02.png

文字化け対処オプション

以下のオプションにより、文字化けがなくなります。

  • java
    java -Duser.language=ja -Dfile.encoding=UTF-8
    user.language=jaで日本を指定し、file.encodingでUTF-8を指定しています。
    jaをenにすれば英語出力されますよ。
    03.png
  • javac
    javac -J-Dfile.encoding=UTF-8
    file.encodingでUTF-8を指定しています。
04.png

.bashrcに記述すれば便利

毎回上記のオプションをタイプするのは面倒なので、.bashrcに以下のaliasを追加します。

alias javac='javac -J-Dfile.encoding=UTF-8'
alias java='java -Duser.language=ja -Dfile.encoding=UTF-8'

以上、WindowsのCygwin環境でjava, javacを快適に使用する方法でした。



添付ファイル: file04.png 900件 [詳細] file01.png 806件 [詳細] file02.png 732件 [詳細] file03.png 919件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-10-24 (月) 22:59:17