javaWeb GET請求亂碼問題

2021-08-21 04:56:28 字數 1031 閱讀 9565

最近在寫專案的時候,使用springmvc get方式獲取值出現亂碼,困擾我了很久。

網上說的方式很多,我也去試了試

通過改變request的編碼格式去解決亂碼

request.setcharacterencoding("utf-8");
結果試了下完全沒用通過web.xml配置編碼

characterencoding

org.springframework.web.filter.characterencodingfilter

encoding

utf-8

forceencoding

true

/*

這也沒用,只過濾post方法

catetype=new string(request.getparameter("cate").getbytes("iso-8859-1"), "utf-8");
在獲取值時直接轉換,這方法可行了。但是可移植性太差,在另乙個tomcat上面跑,它的編碼可能是gbk格式的意味著你得手動去更改很麻煩。我就遇到這個問題,把專案發布到伺服器上去,就因為這個導致有些功能使用不了。

最後一種方式就是穩定版本了

首先造成這個問題的實質原因是tomcat對get 和post的處理方式是不同的。而get方式修改編碼最穩妥的是直接改變tomcat 的server.xml 配置檔案

改為:

針對一般的get請求 usebodyencodingforuri="true" 已經足夠了,但是針對ajax get請求必須加上uriencoding="utf-8"

SpringMVC post請求中文亂碼問題解決

我們在頁面難免提交一些中文資料給後台處理,但是發現後台拿到的資料亂碼,可以在每一程式設計客棧個controller中都設定編碼,但是太過於麻煩,正確的解決辦法應該是在web.xml中配置解決中文亂碼的過濾器 問題現象 控制台列印中文亂碼如下 解決辦法如下 web.xml中配置解決中文亂碼的顧慮器ch...

解決Tomcat修改get提交請求亂碼問題

1 表單提交controller獲得中文引數後亂碼解決方案 注意 jsp頁面編碼設定為utf 8 表單提交方式為必須為post,get方式下面spring編碼過濾器不起效果 j a import j a.util.pageencoding utf 8 修改web.xml,增加編碼過濾器,如下 注意,...

GET請求不亂碼,Ajax請求POST亂碼問題

var params mainform serialize ajax function else error function 我反覆測試,發現get請求就不會亂碼,post傳到controller就是iso8859 1。最終大牛給我修改後的 var params getformjson mainf...