当我序列化包含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序列化到该字段?
答案 0 :(得分:5)
有没有办法制作ActiveRecord :序列化人类可读的yaml到 场?
没有。它的Base64编码,以便将任意文本(在任何编码中)编码到最低的公共denonimator,然后可以安全地通过线路发送和/或存储在不接受UTF-8数据的数据存储中。