コマンドプロンプトでUTF-8の文字を表示する




  1. Perl




  2. Windows


この方法では文字が正しく描画できないようです。(maeyanさんの記事)。
 わたしの環境でも駄目でした。

手順

  1. コマンドプロンプトのフォントの変更
  2. コマンドプロンプト文字コードの変更
  3. ショートカットから文字コードの自動設定を行う。

Windowsのバージョン

 Windows XP Home Edition Version 2002 Service Pack 2 で行いました。

1. コマンドプロンプトのフォントの変更

コマンドプロンプトを立ち上げる→タイトルバー右クリック
→プロパティ→フォントから"MS ゴシック"を選択する。

 フォントを"MS ゴシック"に変更します。MS ゴシックは、Unicodeに対応するすべての文字を正しく表示できるわけではないですが、一応ユニコードに対応しています。日本語や飾り文字を含む文字を表示することができます。

2. コマンドプロンプト文字コードの変更

# UTF-8に変更
chcp 65001

# 元の文字コード( デフォルト ) に戻すとき
chcp 932

# 文字コードを確認するとき
chcp 

 コマンドプロンプト文字コードUTF-8に変更するには、chcp 65001 とします。このモード変更にはバグがあるようで、プロパティからコマンドプロンプトの設定を行うことができなくなります(MS ゴシックが選択できない)。

 プロパティからコマンドプロンプトの設定を変更するには、chcp 932 として元の文字コードにいったん戻ってから変更を加えます。

3. ショートカットから文字コードの自動設定を行う

コマンドプロンプトのショートカットのアイコンを右クリック→ショートカット
リンク先を
%SystemRoot%\system32\cmd.exe /f:on /k "chcp 65001"
に設定。

 毎回文字コードを変更するのが面倒なときは自動化します。/k は、コマンドプロンプトと実行時に、実行したいコマンドを記述します。 /f:on は、ファイルの補完機能です。