首页 > 代码库 > 【问题分析】乱码问题的解决方案
【问题分析】乱码问题的解决方案
1.将tomcat的配置文件server.xml中改为URIEncoding="UTF-8"
如:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
2.查看web.xml中过滤器的编码,以及<filter-mapping>是否紧跟<filter>后,这样才起作用。
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>com.example.gmis.common.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>false</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.页面form表单提交
如果不写method="post",默认就是以get方式提交,get方式提交会出现乱码
4.get方式提交时:
前台拼接url如下所示:
url=url+‘&person.workUnit=‘+encodeURI(encodeURI(workUnit));//注意俩个encodeURI()
后台解析如下所示:
workUnit = URLDecoder.decode(workUnit, "utf-8");
这样才可以跨平台解决中文乱码问题。getBytes的方式转码不是正确的方式,Tomcat上可能有效,但在其它平台未必有效。
本文出自 “HAPPY_CANDY” 博客,谢绝转载!
【问题分析】乱码问题的解决方案