From: "NARUSE, Yui" Date: 2008-02-22T10:59:00+09:00 Subject: [ruby-dev:33900] Re: character encodings differ: US-ASCII and dummy encoding 成瀬です。 U.Nakamura wrote: > こんにちは、なかむら(う)です。 > > In message "[ruby-dev:33897] Re: character encodings differ: US-ASCII and dummy encoding" > on Feb.22,2008 09:41:05, wrote: > | |irb上で"".force_encoding("iso-2022-jp")が > | |ArgumentError: character encodings differ: US-ASCII and ISO-2022-JP > | |でMaybe IRB bug!!となる原因を調べてみたところ、dummy encodingの文字列を > | |inspectした文字列をprintfに渡したときにArgumentErrorになっている > | |ようです。 > | > | ISO-2022-JPはUS-ASCIIの範囲内には収まらないのでエラーになるの > | はある意味当然だと思うのですが、実際にはどうあるべきだと思い > | ますか? > > dummy encodingはrubyがちゃんとはサポートできないencodingだと > いうわけですから、inspectした結果は常にdump相当になればいい > (のでUS-ASCIIになる)と思うのですが、どうでしょうか。 わたしもこれは inspect の問題だと思っています。 [ruby-dev:33883] のパッチを適用するととりあえず irb で "".force_encoding("iso-2022-jp") を行った場合はエスケープされるようにな るので、とりあえずこの方向がよいとおもうのですが、どうですか。 dummy は常に escape というのもこれとは別に検討が必要でしょうね。 -- NARUSE, Yui DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA