Java 中文 亂碼問題

Java平臺遇到的兩類問題:html

1.源代碼中文亂碼問題:web

  a.Java文件,中文亂碼,配置IDE的Preference的編碼格式,總有一款適合你。瀏覽器

  b.HTML(JSP、....)文件,中文亂碼,添加並設置HTML的contentType、charset便可。<%@ page contentType="text/html;charset=GBK"%>app

2.應用程序中輸入中文亂碼問題:編碼

  a.selvert的過濾器filter處理中文亂碼問題:url

    修改web.xml中的配置參數:server

            <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>xml

  b.Tomcat支持中文的配置問題: 更改 Tomcat安裝目錄下conf\server.xml,指定瀏覽器的編碼格式爲「簡體中文」:htm

            <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
            enableLookups="false" redirectPort="8443" acceptCount="100"
            connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK' />utf-8

 

注意:Spring MVC Controller中解析GET方式的中文參數會亂碼的問題:Spring的Filter只對HTTP的Post方法作了過濾處理 ,對Get方法則未作處理,所以不管如何配置Filter均是無效的,所以只能上溯一層,即從WEB應用容器層到Tomcat層配置Server.xml的Connector的URIEconding=「UTF-8"屬性便可。

相關文章
相關標籤/搜索