最近遇到的問題,記錄一下,就是get提交中文引數,後台取值是亂碼
使用各種方法,前面幾種方式雖然沒解決問題,但為以後轉碼提供思路,因此mark下
1.js中使用encodeuri()對請求url編碼
2.後台使用urldecoder指定解碼
3.request使用setcharacterencoding()指定解碼
4.使用字串getbyte(「***」)獲得位元組再用new string(str,"***")重新編碼
5.最終使用post方式解決
因為我用的外部js檔案,而使用post提交的時候需要安全標籤,所以下意識忽略認為只有jsp才能用,但後來發現只要父頁面引入了安全標籤,我的js檔案可用jq獲得安全標籤內容來提交,
即 var csrfparameter = $("meta[name='_csrf_parameter']").attr("content");
var csrftoken = $("meta[name='_csrf']").attr("content");
然後在post請求的url中新增 csrfparameter = csrftoken即可
get請求引數中文亂碼問題
對於get請求解決中文亂碼有兩種途徑一種是修改tomcat預設的編碼方式為 utf 8 在tomcat的server.xml裡把 修改為使用這種方式帶來的問題是在你本機上這麼做沒有問題,你無論怎麼去修改你tomcat上的配置都沒問題,但是測試環境和生產環境的伺服器不是輕易說改就能改的,特別是有些公司...
頁面get請求 中文引數方法亂碼問題
位址列中出現漢字的情況有兩種,一種是漢字出現在url的路徑部分,一種是漢字出現在url的傳參的部分,第二種情況的時候必須採用編碼後傳參,接受時解碼的方式完成傳參。js中編碼有escape encodeuri encodeuricomponent 三個常用的方法,escape 常常用在提交頁面和處理頁...
get請求和post請求引數中文亂碼的解決
首先出現中文亂碼的原因是tomcat預設的編碼方式是 iso 8859 1 這種編碼方式以單個位元組作為乙個字元,而漢字是以兩個位元組表示乙個字元的。post請求引數中文亂碼的解決辦法 對於post請求,請求中問亂碼的兩種解決辦法。1 request.setcharacterencoding utf...