◎[Windows 10]コマンドプロンプトの文字コードの違いによる文字化け(日本語部分)に対処

2020年4月28日火曜日

Windows 10 メモ帳 文字化け


日本語版 Windows 10 のメモ帳のデフォルトの文字コードが、「May 2019 Update」で、Shift_JIS から UTF-8 に変わった(英語版では、ANSI から UTF-8)ので、メモ帳で作成したテキストファイルをファイルサーバーなどにアップする際の文字化けのイライラが減り、作業効率も少しだけアップした。

その反面、コマンドプロンプトで、メモ帳で作成したバッチファイルを表示させると、逆に日本語部分が文字化けしてしまうことに最近気がついた。

この文字化けは、コマンドプロンプトのデフォルトの文字コードが Shift_JISであることに起因するので、この文字コードを変更することにした。

文字化けの再現サンプル

コマンドプロンプトのショーカットとバッチファイルをデスクトップに置いた。

コマンドプロンプトのショーカットを右クリックから、[プロパティ]→[ショーカット]から[作業フォルダー]の内容を削除。

バッチファイルは、メモ帳で新規作成、内容を次のように記述し、名称を「sample.bat」として保存した。

コマンドプロンプトをショーカットのダブルクリックで起動し、「sample.bat」と入力してEnter を押すと、sample.bat の echo を実行し、次のように文字化けが起きる。

文字化けに対処

コマンドプロンプトで、次のように入力し、Enter を押して実行すると、文字コードが UTF-8 に変わる(画面上側に「Active code page: 65001」と表示)。
chcp 65001

UTF-8 に変更した状態で、再度、「sample.bat」と入力してEnter を押すと、正しく日本語が表示される。

コマンドプロンプトを終了すると、Shift_JIS に戻る。コマンドプロンプトを終了せず、UTF-8 の状態から、Shift_JIS に戻すには、次のように入力して、Enter を押す。
chcp 932

同様に、文字コードを EUC-JP にするには、次のように入力して、Enter を押す。
chcp 20932