开发过程中请求信息如果遇到携带中文的必须要解决get和post的编码问题。
但是这两者本质上不一样的。
get把参数信息通过URL传入doGet方法,而post是把参数封装在不可见的数据包中进入doPost方法。
具体解决方法如下:
GET:
先将默认的ISO8859-1编码传入的数据转成二进制的形式,在用uft8的编码重新包装成一个String(不推荐)
String name = request.getParameter("username");
String password = request.getParameter("password");
name = new String(name.getBytes("ISO-8859-1"),"UTF-8");
或者
直接修改conf/server.xml
<Connector connectionTimeOot="20000" port="8080" protocol="HTTP/1.1"/>
后面加上 URLEncoding="UTF-8
POST:
在解析之前加上request.setCharacterEncoding(“UTF-8”)即可