4

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

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

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

--- 
0: !binary |
  0YLQtdGB0YI=

1: !binary |
  LdGC0LXRgdGCLQ==

2: !binary |
  dGVzdCAjIHRlc3QgItGC0LXRgdGC

由于某种原因,utf8 字符串被视为二进制和 base64 编码。场上的排序是utf8_general_ci,我有点失望。

有没有办法让 ActiveRecord :serialize 人类可读的 yaml 到现场?

4

1 回答 1

5

有没有办法让 ActiveRecord :serialize 人类可读的 yaml 到现场?

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

于 2009-02-27T16:18:28.837 回答