Windowsコマンドプロンプトで文字コードの確認・変更する方法

2020年7月12日

Windowsのコマンドプロンプトで、文字化けするたびにググっているのでメモ

CHCPコマンド

コマンドプロンプトで文字コードの設定をするにはCHCPコマンドを使う。
このコマンドを使うことで、文字コードを確認したり変更したりする事ができる。

CHCPコマンドの使い方

コマンドは以下の書式の通り。

CHCP [nnn]

引数([nnn]の部分)に数字で「コードページ番号」を指定する。
良く使う「コードページ番号」は以下の通り

Identifier .NET Name Additional information
65001 utf-8 Unicode (UTF-8)
932 shift_jis ANSI/OEM Japanese; Japanese (Shift-JIS)
51932 euc-jp EUC Japanese
20127 us-ascii US-ASCII (7-bit)

その他、指定が可能な「コードページ番号」は以下マイクロソフトのサイトで確認できる。
Windowsデベロッパーセンター > Code Page Identifiers(英語)

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

現在利用しているコマンドプロンプトで、使用されている文字コード設定を確認するには
以下のように引数なしでコマンドを実行する

CHCP

すると次のように、現在の文字コード設定が返って来る

Active code page: 65001

上記の場合「コードページ番号」が「65001」と表示されているので、文字コードは UTF-8

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

現在の文字コード設定を変更するには、文字コードの「コードページ番号」を引数に指定してコマンドを実行する
例えば Shift_JIS に文字コードを変更したい場合には、以下のように「コードページ番号」の「932」を引数に指定してコマンドを実行

CHCP 932

すると次のような画面が表示され、文字コード設定が変更される

現在のコード ページ: 932

ディフォルトの文字コード設定を変更する方法

コマンドプロンプトのディフォルトの文字コードを変更するには
レジストリエディタを使って、レジストリ値を修正する。

以下のはディフォルト文字コードを UTF-8 「コードページ番号」65001に変更する場合の例

ディフォルト設定の変更方法その1

  1. スタート->実行-> regedit
  2. 以下レジストリを開く
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun]
  3. 値を以下に変更
    chcp 65001

ディフォルト設定の変更方法その2

上記でAutorun自体が無い場合はこっちの手順

  1. スタート->実行-> regedit
  2. 以下レジストリを開く
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor]
  3. 右クリックして「新規 -> 文字列値」をクリック
  4. 作成した項目を右クリックし「名前の変更」をクリック
  5. 名前をAutoRunに変更
  6. 名前を変更した項目を再度右クリックし「修正」をクリック
  7. 値のデータをchcp 65001に変更して「OK」をクリック
  8. 完了

Windows

Posted by 管理人