2011年2月 8日

[ruby-list:47849] Re: ruby1.9での文字列について

2011年2月8日18:35 Nobuyuki Inaba <nobuyuki.inaba@xxxxx>:
> 稲葉と申します。
> 今まで、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"


投稿者 xml-rpc : 2011年2月 8日 19:36
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/101869
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。