Windowsのコマンドラインで文字コードを確認、指定する方法

 Windowsのバッチコマンドは、大量のデータを処理するときなどに便利なのでよく利用している。最近はPowerShellなどもあるので、コマンドラインの使い勝手が上がっており、比較的単純な処理などは十分に実行することができる。
 さて、とある業務にて、企業名ごとのフォルダを一度に大量に作る必要があった。普通に考えればリスト読み込んでそれをフォルダにする(MDコマンド)処理をバッチファイルで作成すれば良いのだが、ちょっと問題があった。

 というのも、企業名の中に「醬油」と言う文字が含まれていたのである。これはシフトJISでは表現できない文字なのである(UTF8の様な文字コードであれば表現可能な文字である)。シフトJISで表現できる簡易なフォントは「醤油」となる。この文字があるため、バッチファイルでうまく動作できなかった。というのもWindowsのコマンドラインは基本はシフトJISだから。

 そこで、Windowsのコマンドラインの文字コードを確認、変更する必要がある。それが「chcp」というコマンドである。chcpはWindowsのコマンドラインの標準コマンドである。

 「chcp」と入力すると「現在のコード ページ: 932」と表示される。この「932」がシフトJISという意味である。これをUTF8に変更したい場合は「chcp 65001」と入力してEnterキーを押す。すると画面がクリアされて1行目に「Active code page: 65001」(何故か英語)と表示される。これで、UTF8に切り替わった。この後は、UTF8で作成したバッチファイルも正常に動作するようになる。

 ちなみに、この設定はコマンドラインを一度閉じるとクリアされるので、再度開く場合は再設定が必要である。