Java平台遇到的两类问题:
1.源代码中文乱码问题:
a.Java文件,中文乱码,配置IDE的Preference的编码格式,总有一款适合你。
b.HTML(JSP、....)文件,中文乱码,添加并设置HTML的contentType、charset即可。<%@ page contentType="text/html;charset=GBK"%>
2.应用程序中输入中文乱码问题:
a.selvert的过滤器filter处理中文乱码问题:
修改web.xml中的配置参数:
<filter> <!--注意这里是filter,不要配置成servlet-->
<filter-name>CharactorFilter</filter-name> <!--过滤器名称-->
<filter-class>cn.com.Filter.CharactorFilter</filter-class> <!--过滤器的完整类名-->
<init-param> <!--初始化参数-->
<param-name>encoding</param-name> <!--参数名称-->
<param-value>utf-8</param-value> <!--参数值-->
</init-param>
</filter>
<filter-mapping> <!--过滤器映射-->
<filter-name>CharactorFilter</filter-name><!--过滤器名称-->
<url-pattern>/*</url-pattern><!--URL映射,给所有页面处理乱码-->
</filter-mapping>
b.Tomcat支持中文的配置问题: 更改 Tomcat安装目录下confserver.xml,指定浏览器的编码格式为“简体中文”:
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK' />
注意:Spring MVC Controller中解析GET方式的中文参数会乱码的问题:Spring的Filter只对HTTP的Post方法做了过滤处理 ,对Get方法则未做处理,因此无论如何配置Filter均是无效的,因此只能上溯一层,即从WEB应用容器层到Tomcat层配置Server.xml的Connector的URIEconding=“UTF-8"属性即可。