WindowsのCursorでターミナルに出力する日本語がどうしても文字化けするときの解消方法。
最適解ではないかもしれないが、これも1つの方法という事で。
ターミナルはPowerShell
設定を変更していなければターミナルはWindowsPowerShellが動作しているのでPowerShellに対して文字コードを指定してあげればよい。
要は文字コードをUTF-8にしてあげれば文字化けは解消する。
ちなみにWindowwsPowerShellではなくコマンドプロンプトに変更することもできる。
PowerShellでの文字コード変更方法
ターミナルで以下のコマンドを入力する。
$OutputEncoding = [System.Text.Encoding]::UTF8 [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
まぁ毎回上記2行を入力するのは面倒なので「changeUTF8.ps1」といったテキストファイルを作成し上記コマンドを記載しておく。
(拡張子ps1はPowerShellスクリプトの拡張子)
ターミナル起動時に上記スクリプトを実行して文字コードをUTF-8にしておく。
Mavenコマンド
Mavenを使っていると「mvnw.cmd」を使うと思うが、そこにも文字コードをUTF-8に変更する命令を記載しておくと面倒なくて便利。
mvnw.cmd テキストエディタで開いて先頭に以下の行を追加
chcp 65001
chcp 65001はコマンドプロンプトで文字コードをUTF-8にする命令。
これをMavenのコマンドに追加しておくことでコマンド実行時に自動的に文字コードを変更してくれる。