2011年9月27日

[ruby-list:48419] Re: Ruby 1.9 で Shift JIS の YAML

成瀬です。

2011年9月27日10:15 Y. Nobuoka <nobuoka@xxxxx>:
>> ところが,Ruby 1.9 では,Shift JIS の YAML テキストを与えても,
>> UTF-8 としてパースしているように見えます。
>> Shift JIS として解釈させる方法がありますか?
>
> Ruby 1.9 では、UTF-8 としてパースしているというよりも、

> Ruby 1.8 と同じく文字エンコーディングを気にせずにパースして、
> 結果の文字列のエンコーディングを問答無用で UTF-8 に指定しているように思います。
> (YAML ライブラリの中身をちゃんと見ていないので間違えているかもしれません。)

よろしくない挙動ですね。
勝手に UTF-8 に変換するか、いっそエラーにするかがよいような気がします。
バグとみなしてしまっていいんじゃないでしょうか。

で、当面の対応策ですが、
str=YAML.load(text.encode("utf-8")).first.encode("cp932")
とするのがいいんじゃないでしょうか。

--
NARUSE, Yui <naruse@xxxxx>


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




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