Tomcat接收请求的时候,默认使用的IOS-8859-1编码,而该编码只占一个字节,不支持中文(两个字节)
解决方案:
1:对乱码使用ISO-8859-1解码--->byte数组.
2:对byte数组重新使用UTF-8编码
示例代码:
//1.使用ISO-8859-1解码,恢复为二进制
byte[] data = username.getBytes("ISO-8859-1");
//2.重新使用UTF-8编码
username = newString(data,"UTF-8");
但是该中方式在表单参数过多的时候就会很麻烦,我们推荐使用以下方式.
解决方案:
POST方式:
request.setCharacterEncoding("UTF-8");//设置请求的编码方式.
注意:必须在获取第一个参数之前设置,只对POST方式有效.
GET方式:
重新设置Tomcat的编码方式,修改Tomcat的配置文件.Tomcat根/conf/server.xml(修改端口行一行).
注意:该方式只对于GET方式有效.
图片1.png