2023年01月08日更新
コマンドプロンプトが文字化けする時の文字コードの確認と変更方法
Windowsのコマンドプロンプトでテキスト内容などを確認した際、文字化けして表示されることがあります。コマンドプロンプトで文字化けする場合は文字コードに原因があるため、その文字コードの確認と変更方法について解説していきます。
コマンドプロンプトが文字化けする時の文字コードの確認と変更方法
コマンドプロンプトでは様々なコマンドを利用することができますが、そのコマンドの実行結果で、日本語で入力されている部分が文字化けしたもので表示されることがあります。
コマンドプロンプトが日本語で文字化けする原因
コマンドプロンプトのコマンド実行結果などで日本語になっている部分が文字化けするのはなぜなのか、その原因から説明していきます。
文字コードの設定が違っている場合に文字化け
Windowsパソコンでは、日本語の表示に文字コードというものが設定されています。その文字コードが異なるもの同士だと文字化けして表示されてしまうのです。
デフォルトでは 932 (Shift jis)
Windowsパソコンで利用される文字コードは、デフォルトでは「932」で、これは「Shift jis」(shift_jis)と呼ばれる文字コードです。コマンドプロンプトで表示される文字コードもデフォルトはこのShift jisで設定されています。
表示するテキストファイルをUTF-8で作成した場合にtypeコマンドなどで表示すると文字化けする
コマンドプロンプトがShift jisの表示がデフォルトなのに対し、メモ帳などでShift jis以外の文字コードで作成されたテキストを表示すると、コマンドプロンプト上で文字化けして表示されてしまいます。
これはテキスト内容などを表示できるtypeコマンド等を利用した際によく発生します。
上記もUTF-8で入力・保存したテキストファイルをデフォルトの状態のコマンドプロンプトでtypeコマンドを実行した際に表示された結果になります。見事に文字化けしていることがわかりますね。
コマンドプロンプトが文字化けする時の文字コードの確認と変更方法
しかしながら、コマンドプロンプトで文字化けした状態ではtypeコマンドでテキスト内容を確認する事ができません。
文字化けを直すには?
内容を確認するためには文字化けを直す必要があります。しかし、テキストファイルの文字コードを変更できない理由があることも多いです。その場合は、コマンドプロンプト側で表示する文字コードを変えることで対応します。
文字コード設定を変更
コマンドプロンプトの文字コードの変更には「chcp」コマンドを利用します。このコマンドを利用することで、コマンドプロンプトの文字コードを一時的に変えることができ、typeコマンドなどで発生した文字化けを直すことができます。
文字コードの確認方法
文字コードを変える方法ですが、まずはコマンドプロンプトの文字コードを確認をしましょう。
文字コードはコマンドプロンプトのプロパティから確認できます。コマンドプロンプト画面左上のアイコンをクリックして、表示されたメニューからプロパティを起動しましょう。
「現在のコードページ」に文字コードが表示されます。上記の場合だとShift jisであることがわかります。確認できたらこの画面は閉じてOKです。
使用される文字コードを「chcpコマンド」で設定する手順
次に、コマンドプロンプトの文字化けを直す/変える方法です。前述したようにchcpコマンドで文字化けの原因となる文字コードの相違をなくします。
UTF-8など文字コードによって使う数字(赤字部分)などは異なるため、変更したい文字コードを確認してその数値に変更して実行しましょう。入力例は次のとおりです。
chcp 65001 |
先程は文字化けしていたテキストが問題なく表示されていることが確認できます。
コマンドプロンプトの文字コードも、プロパティで変更した文字コードに変わっていることが確認できます。chcpコマンドで利用する文字コードごとの数値は次の表のとおりです。
文字コード | コマンドの数値 | 文字コード | コマンドの数値 |
---|---|---|---|
Shift jis | 932 | UTF-8 | 65001 |
EUC-JP | 20932 | UTF-7 | 65000 |
なお、コマンドプロンプトを閉じてからもう一度コマンドプロンプトを開き直すとShift jisに戻っていますので、必要な場合はその都度文字コードの変更をおこなってください。
最後に
コマンドプロンプトの文字化けはファイルの文字コードがコマンドプロンプトの文字コードと合っていないことが原因です。
chcpコマンドでコマンドプロンプト側をファイルの文字コードに一致させることで文字化けを直すことができるため、説明した方法で対応してください。