おれさまラボ

実際に手を動かして理解を深めるブログ。

Powershellの文字化けを直す方法

はじめに

Windows 11 になってから Powershell が文字化けするようになってしまったので直しました。メモを残しておきます。

文字化けの原因

文字化けした場合は "日本語" というマルチバイト文字が原因となっている場合が多いです。

  • 「縺瑚ェュ繧」のような化け方をしている場合は文字コードに問題がないか確認してください
  • 「□□:□□□」のような化け方をしている場合はフォントに問題はないか確認してください

文字コードに問題がある場合の対処

文字コードの設定がおかしいと、うまく文字をエンコードできずに文字化けしてしまいます。適切な文字コードに変更することで問題を解決できる可能性があります。

文字コードを確認する方法

Powershellchcp コマンドを使うことで文字コードを変更できます。

現在の文字コードを確認するには chcp のみで実行します。

> chcp
現在のコード ページ: 437

ちなみに、コードページ 437 は、初代IBM PC(パーソナルコンピュータ)の文字セットだそうです。Windows のコードページ一覧はこちらにまとまっていました。

また、chcpCHangeCodePage の略だそうです。

参考:【Windows】PowerShellやcmdで日本語が文字化けする際の対応

文字コードを変更する方法

UTF-8 に変更したい場合は 65001 に、Shift_JIS に変更したい場合は 932 としてください。ここでは、UTF-8 に変更する場合を例に手順を示します。

  1. エクスプローラーから %userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell を開く。
  2. プロパティを開く
  3. リンク先に -NoExit -Command "chcp 65001" を追記する(全体としては以下のようになる)
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -Command "chcp 65001"

参考:PowerShell起動時、文字コードをUTF-8に変える方法 - Qiita

フォントに問題がある場合の対処

欧文フォントなど、ひらがなや漢字を含まないフォントで日本語を出力しようとするといわゆる豆腐(□)がたくさん出現することになります。この場合は、日本語対応のフォントに変更することを検討してください。

フォントを変更する方法

  1. Powershellを起動する
  2. メニューからプロパティを開く
  3. フォントタブに遷移
  4. フォントを MS ゴシック などの日本語対応フォントに変更する
  5. OK をクリックして変更を反映する

※次回起動時も設定変更後の状態で起動します。

参考:PowerShellの文字化け対策 - Opensourcetechブログ

役に立ったなという方はビール1杯奢ってください。

この続きはcodocで購入