CHCP = 現在の画面の言語設定(= 文字コード)を変更する - Windowsのコマンドプロンプト(bat,cmd)
○Windows XP
現在のコマンドプロンプト画面の言語設定を切り替えます。o 変更出来る言語設定は、インストール環境によって異なります。
o Windows XPのコマンドプロンプト画面の場合、UTF-8 には完全対応していないみたいです。
o なお、次の時は、このコマンドを発行する必要はありません。
+ 外部プログラムが、直接、他の文字コードでファイルを読み書きするだけの時
+ 出力をファイルにリダイレクトする時も、大丈夫みたいです。
**** 書式
--------
chcp コードページ番号
--------
o コマンド名は、大文字小文字のどちらでも大丈夫です。
o コードページ番号 = 数字で指定します。
+ このコマンドで指定出来る、主なコードページ番号は、
+ 437 = 米国
+ 932 = 日本(= Shiht JIS のWindows仕様)
+ この他、指定出来るかもしれないコードページ番号の一覧は、機能欄をご覧下さい。
**** 戻り値 ( ERRORLEVELの値。確認分のみ )
o 0 = 成功
o 1 = エラー。指定出来ない値
+ 「無効なコードページです」 = 指定したコードページは非サポートです。
+ 「Invalid code page」 = 指定したコードページは非サポートです。
**** 使用例
--------
chcp 437
--------
+ コマンド名は、大文字小文字のどちらでも大丈夫です。
**** 機能
o 現在のコマンドプロンプト画面の言語設定を切り替えます。
+ 切り替える時には、言語に対応するコードページ番号を指定します。
o 環境によって、使用出来るコードページ番号は異なります。
o 指定出来るかもしれないコードページ番号の一覧は、「コードページ番号。その意味と一覧の在り処」
o なお、次の時は、このコマンドを発行する必要はありません。
+ 外部プログラムが、直接、他の文字コードでファイルを読み書きするだけの時
+ 出力をファイルにリダイレクトする時も、大丈夫みたいです。
コード | 意味 | 補足説明 |
37 | IBM EBCDIC アメリカとカナダ用 | 文字化け |
437 | アメリカ合衆国 | 公式サポート |
500 | IBM EBCDIC インターナショナル | 文字化け |
737 | ギリシャ文字 | 別の言語を表示 |
775 | バルト諸国 | 別の言語を表示 |
850 | マルチリンガル (ラテン I) | 公式サポート |
852 | スラブ語 (ラテン II) | 公式サポート |
855 | キリル文字 (ロシア) | 公式サポート |
857 | トルコ語 | 公式サポート |
860 | ポルトガル語 | 公式サポート |
861 | アイスランド語 | 公式サポート |
863 | カナダのフランス語 | 公式サポート |
865 | 北欧の言語 | 公式サポート |
866 | ロシア語 | 公式サポート |
869 | 現代ギリシャ語 | 公式サポート |
874 | タイ語 | 別の言語を表示 |
875 | IBM仕様の現代ギリシャ語 | 文字化け |
932 | 日本語(= Shiht JIS のWindows仕様) | 日本語版の標準 |
+ 「公式サポート」= マイクロソフト社の公開資料「▽Chcp (Microsoft TechNet)」に明記されていた番号です。
+ 「別の言語を表示」= 別の文字コード表が割り当てれている番号です。
+ 「文字化け」= バッチファイルから呼び出すと、明らかな表示不正を起こした番号です。
**** メモ
o 次のコードページ番号は、Windows XP では上手く動きませんでした。
+ 20932 = EUC-JP = 文字化け
+ 65001 = UTF-8 = 文字化け
o Windows XPのコマンドプロンプト画面表示は、UTF-8 には完全対応していないみたいです。
+ 以前は、「chcp 65001」を指定するとエラーになっていました。
+ ところが、開発用ツールをいくつかインストールした頃から、指定出来るようになりました。
+ 但し、その状態でも表示は文字化けします。
**** 確認したバージョン
o Windows XP Service Pack 3 (+ 32ビット。Windows Update 2011年4月版)
== 関連ページ:
▼画面表示と印刷関連(▼ABC順)
▼Windowsコマンド一覧(▼ABC順)
▼コマンドプロンプト画面
▼制作メモ
> GRAFTABL = 表示中画面の言語設定を切り替えて、グラフィックスモードを使用可能にする(= 32ビット専用)
TITLE = 現在のコマンドプロンプト画面のタイトルを変更する
BREAK = 何もしない。DOSシステムとの互換用
(2011年5月21日追記。外部プログラムからファイルへの直接入出力時、このコマンドは不要)