出现的问题
在用request.getParameter()的方法获取参数值时为乱码
解决方法
方法1
通过转码的方式来解决乱码问题
String str = new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8");
方法2
通过修改tomcat的server.xml配置文件
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444"
useBodyEncodingForURI="true" URIEncoding="UTF-8"/>
其中useBodyEncodingForURI="true" URIEncoding="UTF-8"
是配置的关键
意义的解释:
useBodyEncodingForURI参数表示是否用request.setCharacterEncoding参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false。
URIEncoding参数指定对所有GET方式请求进行统一的重新编码(解码)的编码。
后续可能有的问题
request.setCharacterEncoding("utf-8");
可以在项目的web.xml中配置一个过滤器来设置编码