前臺傳中文到後臺Controller亂碼問題的解決

JS傳中文參數到Controller的時候出現了亂碼。web

查看了web.xml中的CharacterEncodingFilter配置沒有問題。tomcat

並且在測試環境上跑的時候功能正常可是在開發環境卻有問題。嘗試了在代碼中添加:post

request.setCharacterEncoding("xxxx")之類的方法也不可行。測試

可是code

new String(name.getBytes("ISO-8859-1"),"UTF-8");

可行。server

查了一些資料後瞭解到Tomcat對於post和get的處理方式不一樣。xml

因此過濾器和request.setCharacterEncoding("xxxx")之類的方法對POST方法可行,可是對GET方法沒有做用。開發

因此想要解決這個問題要修改Tomcat的配置文件server.xmlget

找到<Connector connectionTimeout="20000" port="8080"> 這段信息io

而後再最後加上 URIEncoding="UTF-8" 便可。

總結:

post方法受過濾器以及setCharacterEncoding方法的限制,可是get方法不受,因此要修改get方式的亂碼問題,要從tomcat的配置文件入手解決。

以上,愚見。

相關文章
相關標籤/搜索