解决Ajax提交中文乱码方案
(1)分析Ajax出现中文乱码原因:
XmlHttpRequest对象responseXML属性来完成异步请求的响应回传,能够触发这个动作的条件是响应头部的Content-Type 的MiME类型必须被指定为XML(text/XMl或者application/Xml),当前这个属性才会有值并且会被解析成一个XML文档 返回到客户端。一般情况下XMl默认为UTF-8的编码格式(还有其他具体分类)。
中文乱码产生:
XMlHttpRequest异步请求时向服务器端发送数据的编码格式是Unicode格式,
请求响应到客户端而是XML文档 默认编码格式是UTF-8格式
如果你的页面编码本来就是UTF-8,中文乱码就不会出现,而大部分的情况下一般页面设置是GB2312格式,这样转译格式发生了变化 导致乱码产生.而这种乱码出现方式分为两种,第一是页面显示的是乱码,另外一个就是想服务器端传送数据时中文成乱码
(2)解决方案:
方案一:统一页面编码格式 解决页面显示成乱码问题
默认返回到客户端的是编码是UTF-8格式,那么我们工作就是修改页面编码格式即可,示例代码如下:











方案二:转换编码格式 在服务器端解决中文乱码
XmlHttpRequest通过open()方法发送请求,需要设定请求的报头:




参数会设定字符编码格式gb2312 默认转换,同样如果在JS中对服务器端传送数据需要使用既定Escape()和UnEscape函数来处理中文字符乱码问题: 具体使用方法如下
















