我正在尝试使用 Activerecord 在 sinatra 应用程序中实现wysihml5。
富文本编辑器效果很好,当我提交表单时,我得到了正确的 html 帖子到控制器:
pry:> request.params
=> {"title" => "title text",
"content" => "<b>bold text</b><br><i>italic text</i>",
"_wysihtml5_mode" => 1
}
然后,我从 request.params 中删除哈希条目“_wysihtml5_mode”以创建 db 条目,然后将内容转换为 json:
pry:> request.params.delete("_wysihtml5_mode")
=> 1
pry:> request.params["content"].to_json
=> "\"\\u003Cb\\u003Ebold text\\u003C/b\\u003E...
pry:> class.create(request.params)
问题是我无法从一开始就恢复我的价值:
pry:> class.last.content
=> "\"\\u003Cb\\u003Ebold text\\u003C/b\\u003E...
pry:> JSON.parse(class.last.content)
JSON::ParseError: 743: unexpected token at '"\\u003Cb\\u003Ebold text\\u003C/b\\u003E...
我怎么能把这个 unicode 字符恢复到他们的 utf-8 风格(我可能错了,我对字符表不满意)。似乎在转换为json的过程中,在开头添加了一个“:
"<b>bold => "\"\\u003Cb\\u003Ebold
这可能是问题所在?有任何想法吗?