コマンドプロンプトの文字コードをUTF-8にする

やっぱり厄介だったコマンドプロンプトUTF-8化。

WindowsXP時代はコマンドプロンプトのフォントをMSゴシックに変更し、
chcp65001でUTF-8にコードページを変更すれば
日本語もきちんと表示できた。

Windows7になってからは、どうもうまくいかない。
chcp 65001 として何とか日本語表示できたものの、
フォントをMSゴシックに変更できない。
これが原因で、かどうか分からないが、MongoDBのシェル(mongo.exe)の挙動が変。

日本語を含むtestコレクションに対して

> db.test.find();

を実行すると「Failed to write to logfile: errno:0」のようなエラーが出る。

どうやっても解決できなかったので、いっそのことEmacsのシェル(eshell)を使うことに。

普通に M-x eshell を起動すると文字化けするので、以下の設定が必要。

(set-default-coding-systems 'utf-8)

これで何とかいけそう。


2012/6/1 追記
コマンドプロンプトUTF-8化については、レジストリを変更して解決する方法もあるようだが、自分の環境(Windows7 64-bit)ではうまくいかなかった。