2017年11月
      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    
無料ブログはココログ

« 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にしてみる。 »