2 tjh666slj tjh666slj 于 2016.04.26 11:35 提问

jQuery中的ajax方法获取到json数据中文会乱码

接口如下:http://cre.mix.sina.com.cn/api/finance/topstock_display
这个接口 默认返回是 gbk的编码 支持 oe=utf-8,但是xtmlhttprequest 返回的数据默认的字符编码是utf-8,后台说用oe=utf转换,求解。。。

图片说明

8个回答

madman_donghui
madman_donghui   2016.04.26 11:58

首先你这不是json,所以你需要从服务器语言上把数据转换成json再去传到前端;
其次,你要把后台脚本改成utf-8编码,不知道你用的哪种语言,可以另存为脚本设置编码utf-8试试。然后再通过json传输数据,再通过js的eval函数去解析json并且使用。

showbo
showbo   Ds   Rxr 2016.04.26 13:44

网站编码要和而接口的一致,如果你的是utf-8就加上oe参数
http://cre.mix.sina.com.cn/api/finance/topstock_display?oe=utf-8

CSDNXIAON
CSDNXIAON   2016.04.26 11:42

jquery ajax post方法获取json数据
JQuery ajax获取JSON数据出现乱码
Jquery ajax方法解析返回的json数据
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq_17637725
qq_17637725   2016.04.26 12:01

都设置为utf-8的格式吧

yu954663801
yu954663801   2016.04.26 12:09

你这是直接用io流输出的,然后从ajax回调获取data吧。
Servlet设置输出编码,和页面对应就好了。
request.setCharacterEncoding("utf-8");

curry_du
curry_du   2016.04.26 12:55

页面编码改为UTF-8试试

xwh670570759
xwh670570759   2016.04.27 13:25

后台的代码贴出来看看

Hukaihe
Hukaihe   2016.06.23 22:43

传给前台的值要想用中文的话需要在servlet中设置response.setCharacterEncoding("utf-8");

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!