我使用Rails的.to_json()方法将我的哈希转换为JSON。
哈希:
{ "Größe" => "XL" }
JSON:
"{\"Gr\\u00f6\\u00dfe\":\"XL\"}"
之后,JSON字符串通过此Rails(3.2.6)SQL命令存储在名为 static 的hstore(Postgres)列中:
UPDATE ... "static" = 'options=>"{\"Gr\u00f6\u00dfe\":\"XL\"}"' WHERE ...
已经丢失了一个转义反斜杠。
在数据库本身中, static 列如下所示:
"options"=>"{\"Gru00f6u00dfe\":\"XL\"}"
u00f6 和 u00dfe 的所有反斜杠都消失了。
JSON.parse()不再识别多字节字符,因此返回以下哈希:
{ "Gru00f6u00dfe" => "XL" }
有谁知道如何防止这种情况?谢谢你的帮助!