コマンドプロンプトでプログラムを実行した際、出力結果が文字化けして内容が読み取れない状況に直面していませんか。
これは、コマンドプロンプトの文字コード設定である「コードページ」が、表示しようとしている文字コードと一致しないために発生します。
この記事では、chcpコマンドを使ってコードページを適切に変更し、文字化けを解消する具体的な手順を解説します。
【要点】コマンドプロンプトの文字化けを解消するコードページ変更
- chcpコマンドの利用: コマンドプロンプトの文字コード設定であるコードページを確認し、適切なコードページへ一時的に変更できます。
- フォント設定の確認: コマンドプロンプトのプロパティから、文字化けに対応したフォントへ変更することで表示を改善します。
- 永続的な設定変更: コマンドプロンプトのショートカット設定やレジストリを編集し、常に正しいコードページで起動させる設定が可能です。
ADVERTISEMENT
目次
コマンドプロンプトで文字化けが発生する原因
コマンドプロンプトで文字化けが発生する主な原因は、コマンドプロンプトが使用する文字コードの集合であるコードページが、表示しようとしているテキストデータの文字コードと一致しないためです。
Windows環境では、日本語の表示に「ShiftJIS シフトジス」という文字コードが広く使われており、これに対応するコードページは「932」です。
しかし、ウェブサイトや最近のプログラム、特に海外製のツールでは「UTF-8 ユーティーエフエイト」という文字コードが標準的に使われることが多く、これに対応するコードページは「65001」となります。
コマンドプロンプトがデフォルトでコードページ932の状態で、UTF-8で記述されたファイルやプログラムの出力を表示しようとすると、文字コードの不一致により正しく表示できずに文字化けが発生します。
また、コードページが正しく設定されていても、コマンドプロンプトで選択されているフォントが、そのコードページや文字に対応していない場合にも文字化けが発生することがあります。
chcpコマンドでコードページを変更する手順
コマンドプロンプトの文字化けを解消するために、chcpコマンドを使用してコードページを一時的に変更する手順を解説します。
- コマンドプロンプトを起動する
Windows 11の場合、スタートボタンを右クリックし、「ターミナル 管理者」または「コマンドプロンプト 管理者」を選択して起動します。Windows 10の場合も同様に、スタートボタンを右クリックして選択します。 - 現在のコードページを確認する
コマンドプロンプトのウィンドウが開いたら、chcpと入力しEnterキーを押します。現在のコードページ番号が表示されます。例えば、「アクティブなコード ページ: 932」と表示された場合、ShiftJISが使用されています。 - コードページを一時的に変更する
UTF-8の出力を表示したい場合は、chcp 65001と入力しEnterキーを押します。ShiftJISに戻したい場合は、chcp 932と入力します。 - 変更が適用されたか確認する
再度chcpと入力しEnterキーを押して、コードページが「65001」または「932」に変更されていることを確認します。 - 文字化けしていたコマンドを再実行する
コードページ変更後、文字化けしていたコマンドやプログラムを再度実行し、出力が正しく表示されるか確認します。 - コマンドプロンプトのフォントを変更する
コードページを変更しても文字化けが解消しない場合、フォントが原因の可能性があります。コマンドプロンプトのタイトルバーを右クリックし、「プロパティ」を選択します。開いたウィンドウの「フォント」タブをクリックし、「MS ゴシック」や「Consolas」など、UTF-8に対応したフォントを選択して「OK」をクリックします。
chcpコマンドを使っても文字化けが解消しない場合の対処法
chcpコマンドによるコードページ変更やフォント設定の見直しを行っても文字化けが解消しない場合、別の原因や追加の対処法が必要になることがあります。
変更したコードページが一時的で毎回設定が必要になる場合
chcpコマンドで変更したコードページは、そのコマンドプロンプトのセッション内でのみ有効です。ウィンドウを閉じると元の設定に戻ってしまいます。
常に特定のコードページでコマンドプロンプトを起動したい場合は、ショートカットのプロパティを編集するか、レジストリを編集します。
- ショートカットのプロパティを変更する
コマンドプロンプトのショートカットアイコンを右クリックし、「プロパティ」を選択します。「ショートカット」タブの「リンク先」の欄を編集します。例えば、%windir%\system32\cmd.exe /k chcp 65001のように変更すると、起動時に自動でコードページが65001になります。/kオプションは、コマンド実行後にコマンドプロンプトを閉じずに残すことを意味します。 - レジストリで永続的に設定する
レジストリの編集はシステムに影響を与える可能性があるため、必ず事前にレジストリのバックアップを取ってください。
レジストリのバックアップ手順:
1. WindowsキーとRキーを同時に押し、「ファイル名を指定して実行」ダイアログを開きます。
2.regeditと入力しEnterキーを押して、レジストリエディターを起動します。
3. レジストリエディターのメニューから「ファイル」→「エクスポート」を選択します。
4. エクスポート範囲を「すべて」にし、任意の名前を付けて保存します。バックアップ完了後、以下の手順でレジストリを編集します。
1. レジストリエディターでHKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exeのパスに移動します。
2. 右側のペインで右クリックし、「新規」→「DWORD 32ビット値」を選択します。
3. 名前をCodePageと入力します。
4.CodePageをダブルクリックし、「値のデータ」に65001と入力し、「表記」を「10進数」にして「OK」をクリックします。
5. これで、コマンドプロンプトが常にUTF-8で起動するようになります。
chcp 65001にしても文字化けが直らない場合
コードページをUTF-8である65001に変更しても文字化けが解消しない場合、以下の原因が考えられます。
- フォントがUTF-8に対応していない
コマンドプロンプトのプロパティから「フォント」タブを選択し、「MS ゴシック」や「Consolas」など、UTF-8に対応したフォントに変更してみてください。 - 出力元の文字コードがUTF-8ではない
プログラムやファイルがUTF-8以外の文字コードで作成されている可能性があります。例えば、EUC-JPやJISなどの文字コードが使われている場合は、chcp 65001では解決しません。出力元の文字コードを確認し、必要に応じてその文字コードに対応するコードページに変更するか、テキストエディタなどで文字コードを変換します。
特定のプログラムの出力だけが文字化けする場合
システム全体のコードページ設定は問題ないのに、特定のプログラムの出力だけが文字化けする場合、そのプログラム自体が文字コード設定を持っている可能性があります。
- プログラムのオプションを確認する
多くのプログラムには、出力する文字コードを指定するオプションや設定があります。プログラムのヘルプやドキュメントを参照し、文字コード関連の設定項目を探してください。 - 出力をファイルにリダイレクトして確認する
program_name > output.txtのようにコマンドを実行し、出力をテキストファイルに保存します。保存されたoutput.txtをサクラエディタやVisual Studio Codeなどの高機能なテキストエディタで開き、自動判別機能や文字コードを指定して開く機能を使って、正しい文字コードで表示できるか試します。
ADVERTISEMENT
Windows 11とWindows 10のコマンドプロンプトの違い
| 項目 | Windows 11 | Windows 10 |
|---|---|---|
| 起動方法 | スタートボタン右クリックから「ターミナル」または「コマンドプロンプト」を選択 | スタートボタン右クリックから「コマンドプロンプト」または「Windows PowerShell」を選択 |
| デフォルトのターミナル | Windows Terminalが標準化されつつある | コマンドプロンプトまたはWindows PowerShell |
| chcpコマンドの動作 | 基本的に同じ動作をする | 基本的に同じ動作をする |
| フォント設定 | プロパティからフォントを変更する手順はほぼ同じ | プロパティからフォントを変更する手順はほぼ同じ |
| 永続設定 | ショートカットのプロパティやレジストリによる設定方法は同じ | ショートカットのプロパティやレジストリによる設定方法は同じ |
コマンドプロンプトの操作において、Windows 11とWindows 10でのchcpコマンドの基本的な動作やコードページ変更、フォント設定の手順に大きな違いはありません。
Windows 11では「Windows Terminal」が推奨される統合ターミナルとして提供されており、デフォルトでUTF-8に対応しているため、Windows Terminal経由でコマンドを実行すると文字化け問題が発生しにくい場合があります。
しかし、従来のコマンドプロンプトを直接使用する場合の対処法は、両OSで共通です。
まとめ
この記事では、コマンドプロンプトの出力が文字化けする際のchcpコマンドによるコードページ変更方法と、その他の対処法を解説しました。
chcpコマンドを使って適切なコードページに設定し、フォントを調整することで、多くの文字化け問題は解決できます。
永続的な設定が必要な場合は、ショートカットのプロパティやレジストリを編集し、次回以降の作業をスムーズに進めてください。
プログラム固有の文字コード設定や、ファイル出力のリダイレクトも活用し、業務の効率を高めましょう。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Windows・PCの人気記事ランキング
- 【Edge】起動時や新しいタブを「Google」にする設定!ニュースを消してシンプルにする方法
- 【直し方】F7でカタカナにならない!ファンクションキーが効かず音量などが変わる時のFnロック解除法
- 【Windows】サブモニターが映らない!HDMIを挿しても「信号なし」になる時の認識・設定手順
- 【Windows】パスワードなしで起動!PIN入力を省略して自動ログイン(サインイン)させる設定手順
- 【Windows】画面がチカチカ・点滅する!グラフィックドライバの更新と設定の見直し
- 【Windows】デスクトップのアイコンが「白い紙」になった!アイコンキャッシュを削除して元に戻すコマンド
- 【Windows】デスクトップアイコンの「緑のチェック」は何?OneDriveの同期マークを非表示にする方法
- 【PC周辺】2台のモニターで壁紙を「別々」にする方法!Windows11での配置と調整
- Windows 11を極限まで軽量化する「不要な標準サービス」停止リスト|PCの動作を爆速化する設定手順とリスク管理の全貌
- 【Windows】イヤホンを挿してもスピーカーから音が出る!ジャックを認識しない時のRealtek設定と直し方
