Ruby on Rails: сериализовать проблему UTF8 - PullRequest
4 голосов
/ 27 февраля 2009

Когда я сериализирую хэш, содержащий строки 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 Ответ

5 голосов
/ 27 февраля 2009

Есть ли способ сделать ActiveRecord : сериализовать читабельный yaml к поле

Нет. Его Base64 закодирован таким образом, чтобы кодировать произвольный текст (в любой кодировке) вплоть до самого низкого общего знаменателя, который затем безопасно отправлять по проводам и / или хранить в хранилищах данных, которые не принимают данные UTF-8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...