(一)问题介绍
前端在向后台发起请求时,可能会向后台传递参数。传递参数主要有两种方式:POST
和GET
,若我们不加以配置,那么后台接到的参数可能会有乱码问题。
(二)POST乱码
对于POST方式提交的参数若出现乱码,解决方案如下:
<!-- 解决post乱码问题 -->
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!-- 设置编码参是UTF8 -->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
(二)GET乱码
对于GET方式提交的参数若出现乱码,解决方案主要有两种,
方式一:修改Tomcat配置文件
修改tomcat配置文件添加编码与工程编码一致
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
方式二:
对参数进行重新编码,因为ISO8859-1
是tomcat
默认编码,需要将tomcat
编码后的内容按utf-8
编码
String userName = new String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")