Servlet: Servlet接收中文乱码
1 接收乱码原因
浏览器在提交表单时,会对中文参数值进行自动编码。
当Tomcat服务器接收到浏览器请求后,自动 解码,当编码与解码方式不一致时,就会导致乱码。
2 解决POST接收乱码
接收之前,设置编码方式: request.setCharacterEncoding(“utf-8”) 提示: 必须在调用request.getParameter(“name”)之前设置
3 解决GET接收乱码
将接收到的中文乱码重新编码: // 接收到get请求的中文字符串 String name = request.getParameter("name"); // 将中文字符重新编码,默认编码为ISO-8859-1 String userName = new String(name.getBytes(“ISO-8859-1”),“utf-8");