2011年9月14日水曜日

windowsのコンソール(コマンドプロンプト)でUTF-8を使う方法

chcpコマンドを使うことで可能なようです。
chcpコマンドを使えば現在の文字コードを見ることができ
C:\>chcp
現在のコード ページ: 932
引数にコードを指定すれば文字コードを変更することができます。

C:\>chcp 65001
ちなみに対応コードは以下の通り

コード 対応文字コード
65001 UTF-8
932 Shift-jis
20932 EUC

ただ、「chcp 65001」でUTF-8に変更するだけではフォントが対応していないので、日本語が化けて表示されてしまいます。
コマンドプロンプトのプロパティから「フォント」を見ると「ラスタフォント」が設定されているかと思います。

コマンドプロンプトの文字コードを変更しても、使用するフォントが日本語対象外のフォントだと、結局文字化けしちゃいます。
そこで、デフォルトのフォントをMSゴシックに変更する手順です。

レジストリに以下の内容を追加します。
場所:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
追加情報:文字列値
値の名前:0. (ゼロ ドット)
値のデータ:MS ゴシック

これで、chcp 65001 で文字コードを変更した後も、使用するフォントがMSゴシックになってくれるので、日本語の文字化けがなくなります

0 件のコメント:

コメントを投稿