[#48450] 1.8.7と1.9.2の挙動の違いについて — "Jun'ya Shimoda" <jun-shimo@...>

下田です。

13 messages 2011/10/09

[ruby-list:48477] Re: Ruby 1.8でMarshalされたStringのEncodingについて

From: "Y. Nobuoka" <nobuoka@...>
Date: 2011-10-17 07:29:03 UTC
List: ruby-list #48477
畠山さん

Marshal.load [1] の第 2 引数に、String オブジェクトの場合は
エンコーディングを UTF-8 にする (それ以外の場合は何もしない)、という
proc を渡すというのはどうでしょうか?

 data = Marshal.load( source, ->( obj ) {
   if obj.is_a? String
     obj.force_encoding( "UTF-8" )
   end
   obj
  } )

[1] http://www.ruby-doc.org/core-1.9.2/Marshal.html#method-c-load

-- 
信岡 ゆう (NOBUOKA Yu)

In This Thread