1、判斷是否是前端頁面的編碼問題
直接在浏覽器中打開html,如果頁面顯示正常說明不是html頁面的編碼問題;否則的話在head部分加入
<meta charset="utf-8">
一般能解決html頁亂碼問題
2、判斷是不是Spring的編碼問題
在web.xml中加入filter,一般能解決問題
<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>
3、判斷是否是tomcat或jetty的編碼問題
我的剛好就是這個問題,maven中内嵌jetty,但jetty的webdefault.xml,把zh指向的編碼設定為gb2312,導緻浏覽器自動把字元編碼設定的為簡體中文 gb2312,導緻頁面顯示亂碼
解決:在web.xml添加如下配置
<locale-encoding-mapping-list>
<locale-encoding-mapping>
<locale>zh</locale>
<encoding>UTF-8</encoding>
</locale-encoding-mapping>
</locale-encoding-mapping-list>
把zh所指向的編碼設定為gb2312更改為UTF-8即可。