Windowsコマンドプロンプトで文字コードの確認・変更する方法
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
- スタート->実行-> regedit
- 以下レジストリを開く
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun]
- 値を以下に変更
chcp 65001
ディフォルト設定の変更方法その2
上記でAutorun
自体が無い場合はこっちの手順