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安裝目錄下conf\server.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"屬性即可。