url傳遞參數時遇到的亂碼問題解決方法


表單提交中文“啊”點擊搜索文件

<input type="text" id="findcontent">

<span  οnclick="searchFile()">搜索文件</span>

js代碼

function searchFile(){
	var search= $("#findcontent").val();
	window.location.href = "${pageContext.request.contextPath}/file.jsp?search="+escape(search);
}
獲得search參數 “啊”

經過escape(search)轉換成%u554A

URL:http://www.a.com/file.jsp?search=%u554A


然後獲得url參數,獲得參數方法看這裏

var search = getUrlParam('search');
Url = "${pageContext.request.contextPath}/searchFile?search="+unescape(search);
這樣就會請求後臺並將中文參數“啊”傳到後臺了

後臺只需String search = request.getParameter("search");即可獲得中文參數

---------------------------------------------------------------------------------------------------------------

另一種:

var url = "${pageContext.request.contextPath}/DownLoadFile?filename="+encodeURI(encodeURI("啊","UTF-8"));
第一次編碼後%E5%95%8A

第二次編碼後%25E5%2595%258A
可以發現第二次編碼是將"%"編譯成了"%25"

後臺獲取

String fileName = request.getParameter("filename");
fileName = new String(fileName.getBytes("iso8859-1"), "UTF-8");
就可以獲得中文參數"啊"了



發佈了33 篇原創文章 · 獲贊 7 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章