Wenn ich einen Hash enthält UTF8 Strings serialisiert werden, wie folgt aus:Ruby on Rails: serialize UTF8 Problem
poll.variants = {0 => 'тест',1 => '-тест-',2 => 'test # test "тест'}
auf ein Active Feld, das resultierende Feld enthält:
---
0: !binary |
0YLQtdGB0YI=
1: !binary |
LdGC0LXRgdGCLQ==
2: !binary |
dGVzdCAjIHRlc3QgItGC0LXRgdGC
Die UTF-8-Zeichenketten erhalten aus irgendeinem Grund als binär und base64-codiert behandelt. Die Zusammenstellung auf dem Feld ist utf8_general_ci
, und ich bin ein bisschen enttäuscht.
Gibt es eine Möglichkeit, ActiveRecord zu machen: serialisieren Sie lesbare yaml in das Feld?
Oh, das ist vernünftig. Danke für die Erklärung. –
Die Frage ist: Warum deserialisiert Rails die Zeichenfolge aus der DB nicht als UTF-8? Es gibt ASCII-8BIT zurück ... – awendt