2014-11-24コマンドプロンプトでUTF-8の文字列をアドホックに表示なぜか、コマンドプロンプトでUTF-8の文字列を表示できなくなってしまいました。65001」でコードページを変更するのは当然良いのですが、レジストリを編集して追加したはずの日本語フォントがリストアップされず、英語フォントでの表示しかできません。7になってから仕様が変わったのだろうと勝手に納得して、代替案を捜しました。結局の所良い方法が見つからなかったのですが、とりあえずの応急処置策を見つけましたのでメモしておきます。コマンドプロンプトは、どうも起動した方法(起動時のウィンドウのタイトル文字列?)によってまとめて設定が切り替わる仕組みになっているようです。逆に考えると、ウィンドウのタイトル文字列ごとに表示方法などの設定項目が一式どこかに保存されている、ということになります。今回私が採った方法は、この設定を直接書き換えてしまうことで起動時のコードページとフォントをアドホックに変更する、というものです。起動した方法ごとの設定は、HKCU\Consoleキーの下に並んでいます。cmd.exeを直接起動した場合は「C:\Windows\system32\cmd.exe」といったタイトルになります。私の環境では、これに相当する「%SystemRoot%_system32_cmd.exe」というキーがありましたので、それを開いて次のように変更しました。Gothic」にレジストリエディタのスクリーンショット応急処置ですが、これで起動した時点でUTF-8表示できるような状態になりました。このようにUTF-8モードにした場合、文字幅の計算が正しく行えていないようで、たとえば入力した日本語の上をカーソル移動すると...変な位置にカーソルが移動します。Unicodeで文字幅という概念を扱うのはきわめて難しい上コマンドプロンプト自体レガシーと考えているであろうMicrosoftの立場からすると労力をかけられないのでコマンドプロンプトだけは表向きにもUnicode対応を前面に出さないのだろうなと勝手に理解しています。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。