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コマンドを実行したときの出力です。
文字化けしてます。

文字化け対処オプション

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

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 1432件 [詳細] file01.png 1348件 [詳細] file02.png 1267件 [詳細] file03.png 1411件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-03-09 (日) 16:53:40