如何解決WEB應用中文亂碼問題

 

最容易出現亂碼的場景是瀏覽器向服務器發送請求的過程,解決的策略就是強制爲請求和響應設置編碼格式。web

 

1、POST 方式請求亂碼

1. 在每一個 Controller 中單獨處理spring

request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");

 

2. 在 web.xml 中添加編碼過濾器瀏覽器

    <filter>  
        <filter-name>characterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

 

2、GET 方式請求亂碼

因爲  GET 請求的參數是經過 URL 來傳遞的,因此 POST 設置的編碼格式是不起做用的。tomcat

比較簡單的的方法,就是在應用容器中配置 URL 編碼格式。服務器

修改 tomcat 的配置文件 server.xmlapp

<Connector URIEncoding="UTF-8" port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
connectionTimeout="20000" disableUploadTimeout="true" />

在 Connector 標籤中添加 編碼

URIEncoding="UTF-8"

 

url

相關文章
相關標籤/搜索