LoginSignup
187

More than 5 years have passed since last update.

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

Posted at

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 以降に指定されたコマンドを実行する。

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
187