Obaniu 发表于 2013-1-29 10:33:56

解决ajax乱码问题

今天写ajax返回xml,发现返回中文乱码,仔细检查,发现各处编码方式都是utf8,可是为什么会乱码呢?
纠结了一个小时,终于发现问题,源代码如下:
PrintWriter out = response.getWriter();response.setCharacterEncoding("UTF-8");response.setContentType("text/xml; charset=UTF-8");      response.setHeader("Cache-Control", "no-cache");
 
仔细检查发现,原来out在定义之后才给response设置编码方式,这样out还是按照原来的编码方式进行传输。解决办法就是将out定义在设置编码方式的下面,以前总是感觉有这几句话就够了,也没注意这个顺序的问题,今天在这纠结了半天。现在把正确的代码放到下面:
 
response.setCharacterEncoding("UTF-8");response.setContentType("text/xml; charset=UTF-8");      response.setHeader("Cache-Control", "no-cache");      PrintWriter out = response.getWriter();
 
 
希望大家都引以为戒 呵呵
 
 
页: [1]
查看完整版本: 解决ajax乱码问题