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的配置文件入手解決。
以上,愚見。