Tomcat8.0以上浏览器请求的数据编码格式(包含):
Get请求的时候Tomcat用UTF-8处理
post请求的时候Tomcat用ISO8859-1处理
Tomcat8.0以下浏览器请求的数据编码格式:
不管哪种请求方式都默认的是ISO-8859-1
解决乱码的步骤:
1、如是post方式的数据中乱码则需要写:
Request.setCharacterEncoding("UTF-8");
2、如果是get方式请求。先判断tomcat的版本:
(1)tomcat8以上默认就是UTF-8 ,不需要处理,直接使用
(2)tomcat8以下,默认的是ISO-8859-1就需要下面处理方式:
第一步:先把获取的数据以“ISO-8859-1”的格式转变成二进制数据。
byte[]par=req.getParament("name").getBytes("ISO-8859-1");
第二步:然后创建一个字符串,把刚刚转换成二进制的数据传入字符串的构造函数中,然后以UTF-8的形式创建。
String str = new String(par,”UTF-8”);// 正确的字符