PowerShellを使う際にデフォルトでUTF-8になるように設定

WindowsでPowerShellを使っていると、PowerShellのデフォルトの文字コードがShiftJISなので、 コマンドライン上での作業で何かしらと文字化けが発生しがち。

今回は、PowerShellを起動した時に、UTF-8で使えるように設定していく方法をまとめていく。

開発環境

  • Windows11
  • PowerShell 7.4.2

PowerShellでUTF-8を使うための設定

PowerShellでは以下のコマンドを実行することで、文字コードをUTF-8に切り替えることができる。

chcp 65001

つまり、PowerShell起動と同時に先ほどのコマンドを実行するように設定してあげればよい。

Windowsターミナルでの設定

設定 → プロファイル → PowerShell をクリックする。

右側にコマンドラインという項目があるので、以下の様に設定を変更する。

# 変更前
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe

# 変更後
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -NoExit -Command "chcp 65001"

-NoExitを追加することで、-Command "chcp 65001"を実行した後でもPowerShellが起動し続けてくれる。

VSCodeでの設定

まずは検索窓に以下を入力して検索し、Edit settings.jsonをクリックする。

terminal.integrated.profiles.windows

settings.jsonを開くと、以下のような項目がある。

    "PowerShell": {
        "source": "PowerShell"
    }

これを以下の様に変更する。

    "PowerShell": {
        "source": "PowerShell",
        "args": [
            "-NoExit",
            "-Command",
            "chcp 65001"
        ]
    }

これでVSCodeでもPowerShell起動と同時にUTF-8に変更してくれる。

参考文献