Request中文乱码:
原因:web服务器会对请求参数进行编码,编码默认使用的是ISO8859-1,不支持中文所以乱码;
解决方法:
1、通用解决方法:获取对应的请求参数,通过ISO8859-1转回二进制位,再以UTF-8的形式转成字符串;
2、只适用于post请求方式的解决办法:在获取请求参数前进行设置:request.setCharacterEncoding("UTF-8");
Response中文乱码:
解决方式:
第一种方式:
1、存到缓存区之前设置编码:response.setCharacterEncoding("UTF-8");
2、告诉客户端浏览器使用的是utf-8编码:response.setHeader("Content-Type", "text/html;charset=UTF-8");
第二种方式:其实是第一种方式的简写
1、使用封装写法:response.setContentType("text/html;charset=UTF-8");