Windows7: コマンドプロンプトの文字コードをUTF-8にする
(最終更新: 2015-10-26)
目次
- 要望
- コマンドプロンプト用のフォントにMyricaを追加する
- コマンドプロンプトのショートカットを作り、リンク先を変更する
- コマンドプロンプトをショートカットから開き、文字コードを変更する
- フォント関連の設定をすべて変更する
- レジストリエディターで確認する
- フォントの種類以外を最終形にする
- FaceNameをMyrica Mにする
- 結果
- 余談: タスクバーに登録したショートカットのプロパティを変更するには
- もっと簡単な解決策
要望
たとえば、下記のようなUTF-8のテキストファイルをコマンドプロンプトで表示すると文字化けしてしまいます。
abcdあいうえお
また、コマンドプロンプトでBerkshelfを使ってレシピを取り寄せようとしたら、Encoding::InvalidByteSequenceError
が発生しました。
原因を調べたところ、コマンドプロンプトの文字コードのせいだと判明しました。
そんなわけで、コマンドプロンプトの文字コードをUTF-8に変更し、なおかつ日本語も表示されるように設定します。
ただし、日本語の入力はできなくなります。
UTF-8用のショートカットを作成すればデフォルトのデフォルトのShift-JISのものと共存できるので、使い分ければいいと思います。
なお、これから紹介する手順は下記の記事のものをほぼそのまま流用しています。
コマンドプロンプト用のフォントにMyricaを追加する
下記からMyrica.ttc
をダウンロードしてPCにインストールしてください。
- レジストリエディター(
regedit.exe
)を開く。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
を表示する。- 画像のように
932.(数値)
の名前で文字列値のMyrica M
を追加する。
コマンドプロンプトのショートカットを作り、リンク先を変更する
コマンドプロンプトのショートカットは新たに作成するか、既存のものを使います。
そして、リンク先
を%windir%\system32\cmd.exe /c start "UTF-8 日本語入力不可" cmd
に変更します。
私は作業フォルダー
も変更しました。
(%HOMEDRIVE%%HOMEPATH%\Dropbox
)
コマンドプロンプトをショートカットから開き、文字コードを変更する
ショートカットから開くと、ウィンドウのタイトルがUTF-8 日本語入力不可
になっています。
chcp 65001
と入力・実行して文字コードをUTF-8に変更します。
フォント関連の設定をすべて変更する
プロパティを開き、下記の3つの項目を必ずすべて変更します。
- フォントの種類は
Consolas
またはLucida Console
を選ぶ。 - フォントのサイズを別の値に変える。
ボールド フォント
にチェックを入れる。
レジストリエディターで確認する
コマンドプロンプトは開いたままで、レジストリエディターを開きます。
HKEY_CURRENT_USER\Console
の下にUTF-8 日本語入力不可
というキーが作成され、下記の4つの項目が作成されていることを確認します。
- CodePage
- FaceName
- FontSize
- FontWeight
確認したらレジストリエディターを閉じます。
フォントの種類以外を最終形にする
再びコマンドプロンプトのプロパティを開きます。
ボールドフォント
のチェックを外す。- フォントのサイズを実際に使いたいサイズに変更する。 (すでにそうなっている場合は変更の必要はない)
FaceNameをMyrica Mにする
HKEY_CURRENT_USER\Console\UTF-8 日本語入力不可
のFaceName
をMyrica M
に変更します。
これ以後、プロパティ画面からは設定を一切変更してはいけません。
変更せざるを得なくなった場合は、上の手順をもう一度やり直してください。
結果
初めに挙げたUTF-8のテキストファイルが文字化けせずに表示されるようになりました。
ただし、日本語入力はできません。
デフォルトのShift-JISのものと使い分ければいいと思います。
余談: タスクバーに登録したショートカットのプロパティを変更するには
私は画像のようにタスクバーにコマンドプロンプトのショートカットを置いています。
ここから開いた時にUTF-8の設定を反映させるにはどうすればいいか。
タスクバーのショートカットは下記の場所にあるので、そのプロパティを変更すれば解決です。
C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar