Ruby on Rails:序列化UTF8问题

Leo*_*sov 4 serialization activerecord yaml ruby-on-rails utf-8

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

  poll.variants = {0 => '????',1 => '-????-',2 => 'test # test "????'}
Run Code Online (Sandbox Code Playgroud)

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

--- 
0: !binary |
  0YLQtdGB0YI=

1: !binary |
  LdGC0LXRgdGCLQ==

2: !binary |
  dGVzdCAjIHRlc3QgItGC0LXRgdGC
Run Code Online (Sandbox Code Playgroud)

由于某种原因,utf8字符串被视为二进制和base64编码.对场地的整理是utf8_general_ci,我有点失望.

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

Cod*_*lan 5

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

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