成瀬です。

Yutaka Kanemoto wrote:
> 金本と申します。
> 
> 成瀬さん、お返事ありがとうございます。
> 
>> また、実際にエンコーディングをセットする場所はそこでなく、
>> もうちょっと後の工程の方がいいような気がするので、
>> そこも改めて追いなおしてみます。
> 後から調べたら、私が送ったものではYAML.parseに対応できていませんでした。

以下のような感じでいかがでしょう。

--- ext/syck/rubyext.c  (revision 16819)
+++ ext/syck/rubyext.c  (working copy)
@@ -511,6 +511,7 @@ yaml_org_handler( SyckNode *n, VALUE *re
             else if ( strcmp( type_id, "str" ) == 0 )
             {
                 obj = rb_str_new( n->data.str->ptr, n->data.str->len );
+                rb_enc_associate(obj, rb_utf8_encoding());
             }
             else
             {
@@ -1237,6 +1238,7 @@ syck_genericresolver_node_import(VALUE s
         case syck_str_kind:
         {
             v = rb_str_new( n->data.str->ptr, n->data.str->len );
+           rb_enc_associate(v, rb_utf8_encoding());
             if ( n->data.str->style == scalar_1quote )
             {
                 style = sym_1quote;


-- 
NARUSE, Yui  <naruse / airemix.jp>