ajax中如何解决中文乱码

2014-10-27 16:30:07 · 作者: · 浏览: 92

  在action中加入response.setContentType("text/html; charset=GBK");来设置编码格式就可以了


  因为


  使用ajax在发出请求后,xmlhttp组件在解析返回数据的编码时,是根据 http 响应的头部中


  是否有页面内容编码声明决定的.


  如果返回的 http 头部中包含 charset 的内容编码声明,则按指定的编码读 responseBody,


  转换后存在 responseText中.


  如果返回的 http 头部中没有包含 charset 的内容编码声明,则默认其编码为 utf-8,


  所以,如果是gb2312的html页面,在用ajax请求后,读出来肯定是乱的.


  原因是因为 html 页面服务端在输出的时候,是不包含 charset 内容编码声明的,所以ajax就会按utf-8


  来解码,不乱才怪.


  编辑特别推荐: