我采用ajax做了一个查询数据库的操作,在服务器端servlet进行数据库查询,返回的记录中有中文,这样在页面得到的responsexml并显示时会出现乱码。
我在servlet里设置了编码:
response.setContentType(text/xml;charset=gb2312);
response.setHeader(Cache-Control, no-cache);
response.setCharacterEncoding(gb2312);
out.println(<?xml version=\1.0\ encoding=\gb2312\?>);
可我不管设置成gb2312还是utf-8,在页面显示时都会出现乱码,另外我的页面的编码都统一设成gb2312,请问有没有不改变页面的编码
问题解决了,可以在servlet里这样设置:
response.setContentType(text/xml;charset=UTF-8);
response.setHeader(Cache-Control, no-cache);
response.setCharacterEncoding(UTF-8);
PrintWriter out = response.getWriter();
注意语句的顺序,response.getWriter();在最后。页面的编码仍然可以设为gb2312,这样在页面接受到responsexml就可以正确显示中文了。