コマンドプロンプトのユニコード

ちょっとやってみてめちゃめちゃ頭が混乱したので自分の頭の整理。


コマンドプロンプトDOS窓)で中国語が使える(表示できる)、それもtype filename.txtでOKとあるので、うそ! ホント! ならばうれしいとやってみたらなかなかできない。でふと立ち止まるとわたしはすべてUTF-8でやっていた。マイクロソフトのページではunicodeと書いてある。それで、新たにunicodeで中国語簡体字入りのテキストを作って、コマンドプロンプトでtype filename.txtとしたらなんと! 表示できました。

さて、ところが、rubyにしろなんにしろ世界はutf-8で回っていますので、たぶんこのままではrubyに食わせられないだろうなぁ、と思いつついろいろやってみたらやはりダメ。

Windowsの世界はなかなか難しいですね。やはり浮気せずにUnixに戻ろう。ウィンドウズはテキスト入力とか、材料作りだけに専念させようと思います。


残念! 切腹! (2、3年古い!)


追記:日本語、中国語に限らず、そもそもWindowsのメモ帳のテキストファイル(unicode, unicode big endian, utf-8の3種類)がrubyで読めるか、と思い、試してみました。プログラムは
print"hello world\n"
の一行で、三種類のテキストファイルを作ってrubyで起動してみました
ruby hello_u.txt
ruby hello_b.txt
ruby hello_8.txt
エラーメッセージは違いますが、どれもダメ。rubyに-Kuをつけてもダメです。
考え中。

这是 -- コマンドプロンプト上でunicodeが表記できるのだから、カットアンドペーストもできるだろう。そこからなにかできないか。
ruby -e'puts"这是"' #=> ?是 になってしまいました。