2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ

« cmd.exeとchcp.comだけで、文字コード(Unicode、UTF-8、UTF-7、JIS、EUC-JP、SJIS)を変換する! | トップページ | バッチファイルの文字コードをEUC-JPにしてみる。 »

2008年12月25日 (木)

バッチファイルの文字コードは?

シフトJIS(932) だけ? いいえ、そんなことはありません。例えば、EUC-JP(20932) も可能です。しかし、Unicode(1200)、UTF-7(65000)、UTF-8(65001)、JIS(50220) はダメです。
なので、実際上?は、シフトJIS(932) だけのようなものです。

これらコードページのバッチファイル可否は、%SystemRoot%System32\C_コードページ.NLS の有無によるようです。

もし、コンソールのコードページを UTF-7(65000)、UTF-8(65001)、JIS(50220)に変えると、バッチファイルが全く実行できなくなります。

また、これらのコードページでは、単にバッチファイルが実行できなくなるだけでなく、TYPE コマンドを除いて、ファイルの読み書きが全くできなくなるようです。

これはたぶん、ファイルの読み書きでは、C_コードページ.NLS を使用した文字コード変換が行なわれているせいなのでしょう。

逆に、UTF-7(65000)、UTF-8(65001)、JIS(50220) の C_コードページ.NLS を作ってやれば、それらのバッチファイルも可能になるかも知れません。

« cmd.exeとchcp.comだけで、文字コード(Unicode、UTF-8、UTF-7、JIS、EUC-JP、SJIS)を変換する! | トップページ | バッチファイルの文字コードをEUC-JPにしてみる。 »