Quand je sérialiser un hachage contenant des chaînes UTF8, comme ceci:Ruby on Rails: serialize problème UTF8
poll.variants = {0 => 'тест',1 => '-тест-',2 => 'test # test "тест'}
à un champ ActiveRecord, le champ résultant contient:
---
0: !binary |
0YLQtdGB0YI=
1: !binary |
LdGC0LXRgdGCLQ==
2: !binary |
dGVzdCAjIHRlc3QgItGC0LXRgdGC
Les chaînes de UTF8 se traité comme binaire et codé en base64 pour une raison quelconque. La collation sur le terrain est utf8_general_ci
, et je suis un peu déçu.
Existe-t-il un moyen de rendre ActiveRecord: sérialiser le yaml lisible par un humain sur le terrain?
Oh, c'est raisonnable. Merci pour l'explication. –
La question est: Pourquoi Rails ne désérialise-t-il pas la chaîne de la base de données en UTF-8? Il renvoie ASCII-8BIT ... – awendt