关于浏览器的请求数据到达后台乱码问题

来源:互联网 发布:欧美衣服淘宝 编辑:程序博客网 时间:2024/05/16 13:42

Tomcat8.0以上浏览器请求的数据编码格式(包含):

Get请求的时候TomcatUTF-8处理

post请求的时候TomcatISO8859-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”);//    正确的字符


注:使用Tomcat8以下全局编码过滤器,对Tomcat8以上不适用

阅读全文
0 0