在Controller中接收到的POST參數若是是中文的話,顯示爲亂碼。已知客戶端傳過來時編碼爲UTF-8。java
問題產生分析:web
spring MVC中默認的編碼格式爲「ISO-8859-1」,所以形成亂碼。spring
簡單的解決方式:tomcat
New String(request.getParameter("xxx").getBytes("iso-8859-1"),"utf-8")app
最好的解決方式:編碼
在web.xml中配置Spring字符過濾器,添加:url
<!-- spring字符編碼過濾器start-->
<filter>
<!--① Spring 編碼過濾器 -->
<filter-name>encodingFilter</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>
<!-- ② 過濾器的匹配 URL -->
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- spring字符編碼過濾器end-->spa
GET方法接收到中文亂碼在tomcat的server.xml添加URIEncoding="utf-8"
<Connector port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />