POST请求乱码
解决方式: 在调用获取参数值方法前设置
request.setCharacterEncoding("utf-8");
GET请求乱码
乱码原因:
中文 -> UTF-8编码提交->二进制--> 服务器后台获取到数据以 ISO-8859-1解码 (乱码)
逆向解决思路:
将以ISO-8859-1解码得到的乱码 ->以 ISO-8859-1 编码-> 二进制-> 以UTF-8解码
-
解决方案一: 修改tomcat/conf/server.xml
前提: 必须有修改tomcat服务器配置文件权限<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8"/>
-
解决方案二:逆向编解码
username = request.getParameter("username"); username = URLEncoder.encode(username, "ISO8859-1"); username = URLDecoder.decode(username, "utf-8");
-
解决方案三:简写的方式(推荐使用)
username = new String(username.getBytes("ISO-8859-1"),"utf-8");