前端之家收集整理的这篇文章主要介绍了
ajax返回乱码处理方法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用ajax
获取服务器数据返回给客户端,出现
中文乱码。在之前的一个ajax应用中指定codepage=936,将所有
页面编码都指定为GB2312即可
解决。 这次的应用中却无起作用了,经过多次的试验,客服端的编码应该绝对没有问题的。可以判断问题一定出在服务器端。稍微分析一下可知虽然服务器端指定了
文件的编码格式,但对于服务器
输出流就成为了怀疑的对象。由于使用MS
sql2000,采用unicode编码,所以返回数据给客户端将会出现unicode编码的
中文在gb2312编码
页面显示的问题。于是在服务器端
输出流加一个HEADER: ASP程序中加入<%Response.Charset = "GB2312"%>即
解决了这个问题。 同样在
PHP和jsp程序中的书写类似
PHP:header('Content-Type:text/html;charset=GB2312'); JSP:response.setHeader("Charset","GB2312"); ajax产生乱码的原因整理如下 1、xtmlhttp 返回的数据默认的字符编码是utf-8,如果客户端
页面是gb2312或者其它编码数据就会产生乱码 2、post
方法提交数据默认的字符编码是utf-8,如果服务器端是gb2312或其他编码数据就会产生乱码
解决办法有: 1、若客户端是gb2312编码,则在服务器指定
输出流编码 2、服务器端和客户端都使用utf-8编码
原文链接:https://www.f2er.com/ajax/166335.html