From: Tetsuo Sakaguchi Date: 2009-08-21T18:02:24+09:00 Subject: [ruby-list:46331] Re: [ruby-list:46322 , 46323 ] Re: ファイル名について In message 2009-08-21T16:42+0900, "sora.h" wrote: > 1.9未満(1.8とか)なら$KCODE='u' (utf-8の場合)などとしてもダメですか? それは FAQ 事項ですが、ソースコード中に日本語文字列を埋め込む場合には 「手遅れになる」ので、先頭行に「#! ruby -Ku」と指定するべきです。 (「#! ruby -Ku」指定はソースコードが UTF-8 で書かれていることを指示する。 一方、プログラム中に「$KCODE='u'」を書くのは、その行を実行したあとは、 文字列データが UTF-8 であることを指示する。 つまり、ソースコード解釈の際には処理系はまだ UTF-8だとは わからないことになります。) UTF-8 や EUC-JP の場合は実害が少ないですが、 SJIS の場合は「表」のように1バイト単位で見ると、 0x5c、つまりバックスラッシュと同じコードが含まれるので、致命的ですね。 PS. もう何度学生達に説明したことか、、、、。。 -- 阪口哲男@図書館情報メディア研究科.大学院.筑波大学 Tetsuo SAKAGUCHI. Graduate School of Library, Information and Media Studies University of Tsukuba, JAPAN.