JSP struts2 url傳參中文亂碼解決辦法
1.設置struts.xml
constant name="struts.i18n.encoding" value="UTF-8" />
或是設置struts.properties(我自己沒試過)
struts.i18n.encoding=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>
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>
上面用的是spring自帶的,也可以自己寫,核心語句就是request.setCharacterEncoding(this.encoding);
3.設置tomcat的配置
1和2都只能設置post方式提交數(shù)據(jù)的編碼方式,如果url有中文的話就會有亂碼,解決辦法是在
tomcat的\conf\server文件的
Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
加入 URIEncoding="UTF-8"。如果你正在使用eclipse,記得重啟eclipse,把服務器的設置刪除,重新設置。我就是因為沒有這樣做搞得配置文件沒生效,調(diào)試了半天
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
您可能感興趣的文章:- 淺談jsp文件和HTML互相引入的亂碼問題
- jsp用過濾器解決中文亂碼問題的方法
- JSP MySQL插入數(shù)據(jù)時出現(xiàn)中文亂碼問題的解決方法
- 請求轉發(fā)jsp頁面亂碼問題的快速解決方法
- jsp傳參 servlet接收中文亂碼問題的解決方法
- jsp SmartUpload 中文亂碼問題解決
- JSP對URL鏈接中的中文亂碼處理方法總結
- JSP服務器端和前端出現(xiàn)亂碼問題解決方案