Posted at

Cygwin環境でjavacコマンドの出力が文字化けするのを改善する

More than 3 years have passed since last update.


環境

Windows 10 + Cygwin + ConEmu

Cygwin環境+Tabを実現するため、ConEmuを使用している。


問題点

javac(Gradle経由を含む)を実行すると、エンコーディングの問題で出力が文字化けしてしまう。

IDEでは正しく表示されるので実害はあまりないし、年単位で放置し続けていたが、気持ち悪いので直すことにした。

豕ィ諢・荳€驛ィ縺ョ蜈・蜉帙ヵ繧。繧、繝ォ縺ッ髱樊耳螂ィ縺ョAPI繧剃スソ逕ィ縺セ縺溘・繧ェ繝シ繝舌・繝ゥ繧、繝峨@縺ヲ縺・∪縺吶€・

豕ィ諢・隧ウ邏ー縺ッ縲・Xlint:deprecation繧ェ繝励す繝ァ繝ウ繧呈欠螳壹@縺ヲ蜀阪さ繝ウ繝代う繝ォ縺励※縺上□縺輔>縲・
豕ィ諢・蜈・蜉帙ヵ繧。繧、繝ォ縺ョ謫堺ス懊・縺・■縲∵悴繝√ぉ繝・け縺セ縺溘・螳牙・縺ァ縺ッ縺ェ縺・b縺ョ縺後≠繧翫∪縺吶€・
豕ィ諢・隧ウ邏ー縺ッ縲・Xlint:unchecked繧ェ繝励す繝ァ繝ウ繧呈欠螳壹@縺ヲ蜀阪さ繝ウ繝代う繝ォ縺励※縺上□縺輔>縲・
Internal Error : missing async record in profiling stack


直し方

cmd.exeの場合は chcp コマンドを投げるように案内されている。

Cygwin環境の場合は下記のようにコマンドを打つと改善される。

chcp.com 65001

上記実行後は出力が正しく行われる。

注意:一部の入力ファイルは非推奨のAPIを使用またはオーバーライドしています。

注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください。
注意:C:\cygwin\work\ace-v3\app\src\main\java\com\eaglesakura\andriders\util\AppUtil.javaの操作は、未チェックまたは安全ではありません。
注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。

常に有効化したいので、 ~/.bashrc の最初にコマンドを書いておくと捗る。