HttpServletResponse PrintWriter中文乱码解决方法
Posted 2021-05-01 09:19:42 by admin ‐ 1 min read
HttpServletResponse使用PrintWriter输出中文的时候,如果不设置流的编码就会产生乱码,PrintWriter直接输出的字符流首先使用"response.setCharacterEncoding(charset)"设置字符以什么样的编码输出到浏览器,如果不设置则默认是ISO-8859-1,这个是不支持中文的。
解决方法response.setCharacterEncoding("UTF-8");
//通过设置响应头控制浏览器以UTF-8的编码显示数据,如果不加这句话,那么浏览器显示的将是乱码
//response.setHeader("content-type", "text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");//设置将字符以"UTF-8"编码输出到客户端浏览器
PrintWriter out = response.getWriter();//这句代码必须放在response.setCharacterEncoding("UTF-8");之后
out.write(data);//使用PrintWriter流向客户端输出字符