はじめに
Windows環境のVS Code上で、統合ターミナルのPowerShellを使用してプログラムを実行したところ、プログラムから出力された日本語文字列が文字化けしてしまうというトラブルに遭遇しました。
これはPowerShellの文字コードが標準ではShift-JISであり、一方で出力された文字列の文字コードはUTF-8であったことが原因でした。
不便なのでVS Codeの設定でPowerShellの文字コードをUTF-8にすることで解消しました。その際の小ネタです。
なお、検証に使用したVS Codeのバージョンは1.47.2
です。
解消法
settings.json
に下記の設定を追加します。
"terminal.integrated.shellArgs.windows": [
"-NoExit",
"-Command",
"chcp",
"65001"
],
解説
-
"terminal.integrated.shellArgs.windows"
: Windows環境において統合ターミナル起動時の引数として下記のものを与える -
"-NoExit"
: 下記のコマンドを実行後も終了しない -
"-Command"
: 下記のコマンドを実行する -
chcp
: 文字コードを設定する -
65001
: 設定する文字コードはUTF-8である