Rails 返回 json 格式出现的中文乱码的问题

paranoyang · 2011年12月08日 · 最后由 night_song 回复于 2012年02月04日 · 8441 次阅读

用 scaffold 生成的返回 json 格式时中文都会变成类似下面这样的字符 “\u96a7\u9053\u8f66\u884c10” 有人知道是什么原因吗? 有啥解决方法?(Rails 3.1 + mongoid ,中文字符在返回 html 时候显示正常。)

这个不是乱码,而是 UTF-8 的格式,能够被正常读取的

#1 楼 @huacnlee 多谢!我刚查到了这个 http://blog.csdn.net/liehuo123/article/details/6055205 似乎要在客户端再做处理..

#2 楼 @paranoyang 我做过一个小程序 json 的,可以参考我的,也是 mongodb。

chatroom.heroku.com

#4 楼 @jinleileiking 你的 basic auth 帐号密码是啥呢?~

#5 楼 @paranoyang root / 123456. 里面能看源代码。。 用户名密码想去掉,懒得折腾了

because your yaml engine is syck solve it, please setting YAML::ENGINE.yamler= 'psych', example

# add to config/boot.rb
require 'yaml'
YAML::ENGINE.yamler= 'psych'

返回 "\u96a7\u9053\u8f66\u884c" 是正确的, 显示和 "隧道车行" 一样.

如果直接返回 "隧道车行", 在没安装中文字符集的系统或者某些别的语言的库处理时可能会出错.

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册