M17N対応の施されたRuby1.9系は、$KCODEは使わない。ということらしい。 irb(main):001:0> $KCODE (irb):1: warning: variable $KCODE is no longer effective => nil では、スクリプトのエンコーディングを指定するには代わりに何を使えば良いのだろう。 Ruby1.9はM17N対応にJavaや.NET等が使用しているUCS(Universal Character Set)Normalization方式※ではなく、CSI(Code Set Independent)方式を採用しているため、メモリを覗いてエンコーディングを決め打ちすることができないため、なんらかの方法で明示的にスクリプトのエンコーディングを与える必要がある。 1. マジックコメント 2. コマンドラインオプション 3. Encoding.d