解决Post请求中文乱码问题
Tomcat默认使用字符集ISO-8859-1,属于西欧字符集
解决乱码的核心思路是将ISO-8859-1转换为UTF-8
Servlet中请求与响应都需要设置UTF-8字符集
1、第一种
String name = request.getParameter("username");
String positive = request.getParameter("job");
String CharsetName = new String(name.getBytes("ISO-8859-1"),"UTF-8");
String CharsetPositive = new String(positive.getBytes("ISO-8859-1"),"UTF-8");
response.setContentType("text/html;charset=utf-8");
response.getWriter().println("<h1>"+CharsetName+":"+CharsetPositive+"</h1>");
2、第二种
request.setCharacterEncoding("UTF-8"); //只有POST的请求有用,因为会把请求体的字符集转换为utf-8
String name = request.getParameter("username");
String positive = request.getParameter("job");
response.setContentType("text/html;charset=utf-8");
response.getWriter().println("<h1>"+name+":"+positive+"</h1>");
解决Get请求与响应中文乱码
对于Tomcat8.x版本,默认get请求发送中文就是UTF-8的格式。