首先,response返回有两种,一种是字节流outputstream,一种是字符流printwrite。
我是一名程序员菜鸟,在公司出现了response输出乱码问题;
我的代码是:
HttpServletResponse response = ServletActionContext.getResponse();
PrintWriter out = response.getWriter();
out.write(xmlData);
输出到页面的结果中显示除了乱码问题;
加入了
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-type", "text/html;charset=UTF-8");
之后,发现正常了;
关于解决HttpServletResponse输出的中文乱码问题
请查看http://blog.csdn.net/simon_1/article/details/9092747地址中的介绍;
主要原因是
1.字节流,要输出中文,给输出流的必须是转换为utf-8的中文,还要告诉浏览器,用utf8来解析数据
设置response.setHeader("Content-type", "text/html;charset=UTF-8");即可;
2.字符流,要输出中文,需要设置response.setCharacterEncoding("UTF-8");
如果还有错误乱码,请仔细查看关于response的javaAPI;