之前用POST方式提交表單一直沒有遇到中文亂碼的方式,最近使用GET方式提交,發現中文亂碼。 檢測了struts.xml和web.xml等地方讀配置好了
struts.xml
<!-- 編碼設置 -->
<constant name="struts.i18n.encoding" value="UTF-8" />
web.xml
<!-- 編碼 -->
<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>
查了一些資料,問題出在於Tomcat的server.xml沒有配置編碼,添加URIEncoding="UTF-8"就可以了
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>