Ruby on Rails:序列化UTF8问题

时间:2009-02-27 16:11:39

标签: ruby-on-rails activerecord utf-8 yaml serialization

当我序列化包含UTF8字符串的哈希时,如下所示:

  poll.variants = {0 => 'тест',1 => '-тест-',2 => 'test # test "тест'}

到ActiveRecord字段,结果字段包含:

--- 
0: !binary |
  0YLQtdGB0YI=

1: !binary |
  LdGC0LXRgdGCLQ==

2: !binary |
  dGVzdCAjIHRlc3QgItGC0LXRgdGC

由于某种原因,utf8字符串被视为二进制和base64编码。该领域的整理是utf8_general_ci,我有点失望。

有没有办法制作ActiveRecord:将人类可读的yaml序列化到该字段?

1 个答案:

答案 0 :(得分:5)

  

有没有办法制作ActiveRecord   :序列化人类可读的yaml到   场?

没有。它的Base64编码,以便将任意文本(在任何编码中)编码到最低的公共denonimator,然后可以安全地通过线路发送和/或存储在不接受UTF-8数据的数据存储中。