日期:2014-05-16 浏览次数:20623 次
今天写ajax返回xml,发现返回中文乱码,仔细检查,发现各处编码方式都是utf8,可是为什么会乱码呢? 纠结了一个小时,终于发现问题,源代码如下: Java代码?? 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定义在设置编码方式的下面,以前总是感觉有这几句话就够了,也没注意这个顺序的问题,今天在这纠结了半天。现在把正确的代码放到下面: Java代码??
今天写ajax返回xml,发现返回中文乱码,仔细检查,发现各处编码方式都是utf8,可是为什么会乱码呢?
纠结了一个小时,终于发现问题,源代码如下:
?
仔细检查发现,原来out在定义之后才给response设置编码方式,这样out还是按照原来的编码方式进行传输。解决办法就是将out定义在设置编码方式的下面,以前总是感觉有这几句话就够了,也没注意这个顺序的问题,今天在这纠结了半天。现在把正确的代码放到下面: