From: Daisuke Nishimori Date: 2004-04-09T14:15:45+09:00 Subject: [ruby-list:39523] YAMLをShift-JISで使用したときに文字化けします 西森と申します。 YAMLをShift-JISで使用したときに、2バイト目にエスケープシーケンスを含む文字を使用すると、文字化けします。 環境は 1.8.1 (2003-12-25) [i386-mswin32] です。 具体的には、文字コードを指定せずに puts [0x94, 0x5C].pack('c2').to_yaml を実行すると、出力は --- "能\" となります。 ここで、ruby.exeのオプションに -Ksを付けて実行すると --- "能" と、エスケープされずに出力されます。 文字コードを指定しない方は、それを y = [0x94, 0x5C].pack('c2').to_yaml puts YAML.load(y) のように出力した場合、正しく「能」が出力されますが、オプション -Ks を付けたほうは文字化けします。 YAML.to_loadがShift-JISに対応していないのではないでしょうか。