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