From: Yui NARUSE Date: 2011-08-09T18:35:25+09:00 Subject: [ruby-dev:44366] [Ruby 1.9 - Bug #5176] UTF-8以外でpsychを使用し、YAML.dumpを実行するとエラーが発生する Issue #5176 has been updated by Yui NARUSE. Shyouhei Urabe wrote: > 戻んないような変換が発生しそうな時はEncoding::InvalidByteSequenceErrorでいいんじゃないかなあ InvalidByteSequence はある String の内容であるバイト列がそのエンコーディングとして正しくない時の例外なので、 不可逆変換の時は意味的にちょっと違いますね。 何か一つ指定したらできるくらいのノリがいいかなぁと思っているんですが、SQLite とかでも黙って変換しちゃうので、 YAML 使うという時点でそういうもんだってことでもいいかなとも。 ---------------------------------------- Bug #5176: UTF-8以外でpsychを使用し、YAML.dumpを実行するとエラーが発生する http://redmine.ruby-lang.org/issues/5176 Author: Masafumi Kiribayashi Status: Assigned Priority: Normal Assignee: Aaron Patterson Category: Target version: 1.9.2 ruby -v: ruby 1.9.2p290 (2011-07-09) [i686-linux] Windows環境(mingw)、Linux環境において、添付したファイルで現象が発生します。 libyamlが「YAMLで使用する文字列はUTF-8である」ことを主張するのが原因かと思います。 Stringをdumpする前にUTF-8に変換する作業をライブラリですべきではないでしょうか。 現状、私は添付したファイルのコメントアウトした箇所を有効にすることで、問題を回避しています。 -- http://redmine.ruby-lang.org