1.get方式亂碼解決方案
接收url請求默認是iso-88591,可以手動更改爲utf-8。
@RequestMapping("/test")
public String addUI(User user) throws UnsupportedEncodingException {
String name = user.getName();
byte[] bytes = name.getBytes("iso8859-1");
name = new String(bytes,"utf-8");
user.setName(name);
return "addUI";
}
2.post方式亂碼解決方案
解決post亂碼,SpringMVC提供了一種現成的解決方案,需要在web.xml下進行如下配置,配置一個filter過濾器,導入指定的全限定名即可。
<!-- 解決dopost請求亂碼問題 -->
<filter>
<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>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
還可以添加forceEncoding屬性,表示如果已經指定了字符集是否還使用SpringMVC指定的字符集。
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>