From: KOSAKI Motohiro Date: 2011-02-08T19:36:10+09:00 Subject: [ruby-list:47849] Re: ruby1.9での文字列について 2011年2月8日18:35 Nobuyuki Inaba : > 稲葉と申します。 > 今まで、ruby1.8を使っていまして、1.9に移行しようと考えています。 > それでひとつ困ったことがありまして、 > 1.8では、OKだったのですが、1.9では、 > UTF-8 の文字列と、ISO-2022-JPの混在が > Encoding::CompatibilityError: incompatible character encodings: UTF-8 > and ISO-2022-JP > と表示されます。 > それはわかるのですが、わざと混在させたいのですが、どうにかエラーが出ない様にできないでしょうか? > できれば助かるのですが。 > encodingを無効にするのかなとか思いましたがどうもわかりませんでした。 エンコーディングを無効にしたいならこうかな? 無理矢理エンコーディングを忘れさせているので、もう文字としては扱えなくなりますが。 str1="あ".encode("UTF-8").force_encoding("ASCII-8BIT") str2="あ".encode("ISO-2022-JP").force_encoding("ASCII-8BIT") p str1, str2, str1+str2 => "\xE3\x81\x82" "\e$B$\"\e(B" "\xE3\x81\x82\e$B$\"\e(B"