コマンドプロンプト
windows7

コマンドプロンプト起動時、自動的に文字コードをUTF-8にして日本語もちゃんと表示できるようにする方法

More than 1 year has passed since last update.

Windows7 でのみ動作確認済。XPとかだとうまくいかないかもっぽぃらしい。

前提知識

  • コマンドプロンプトのデフォルト文字コードは Shift_JIS
  • chcp コマンドで文字コードを変更できる
    • ただし、文字コードを変更しただけでは日本語を表示できない
    • 文字コードを変更しても、コマンドプロンプトを再起動するとデフォルトに戻ってしまう
  • そのため、以下2ステップを行う必要がある
    1. 文字コードが UTF-8 のときに使用するフォントを、日本語対応のものにする
    2. コマンドプロンプト起動時、自動的に文字コードが UTF-8 になるよう設定する

実際の手順

Step:1 使用フォントを日本語対応のもの(MSゴシック)にする (*1)

  1. コマンドプロンプトを実行する
  2. プロパティ > フォント > フォント で 【MSゴシック】を選択する
  3. コマンドプロンプトを終了する

Step:2 起動時に文字コードが UTF-8 になるようにする

Step:2-A レジストリを使う方法

  1. 適当な場所に、以下内容のバッチファイルを用意する
sample.bat
chcp 65001
  1. regedit 等で、レジストリの以下どちらかのキーを開く
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
    • HKEY_CURRENT_USER\Software\Microsoft\Command Processor
  2. 上記キーに以下項目を作成する (*2)
    • 名前:AutoRun
    • 値: (用意したバッチファイルのパス)

Step:2-B レジストリを使わない方法

  1. 適当な場所に、コマンドプロンプトのショートカットを作成する
  2. ショートカットのプロパティ > ショートカット > リンク先 に以下を追記する (*3)
    • /K "chcp 65001"
  3. 以降、コマンドプロンプトはこのショートカットから実行するようにする

Shift_JIS に戻したいとき

  • コマンドプロンプトで以下コマンドを実行する
    • chcp 932

注釈

  • (*1)
    • 以降、文字コードが UTF-8 の状態で プロパティを開くと以下のエラーメッセージが出るようになるが、無視する。

ポイント サイズには 5 から 72 を指定してください。

  • (*2)
    • ここで指定したバッチファイルは、コマンドプロンプト起動時に毎回最初に実行される。
  • (*3)
    • 起動時パラメータ。/K 以降に指定されたコマンドを実行する。

詳しい解説が書いてあるとこ