Posted on 2015-03-07 17:35
朱杰兵 閱讀(1310)
評(píng)論(0) 編輯 收藏
window.open 中文亂碼問(wèn)題
JS中使用window.open("url param="+paramvalue)傳遞參數(shù)出現(xiàn)亂碼,提交的時(shí)候,客戶端瀏覽器URL中顯示參數(shù)是正確的,但是傳到了服務(wù)器端是是亂碼。這種情況下需要在客戶端對(duì)該參數(shù)進(jìn)行編碼,然后在服務(wù)器端解碼即可。
1、JS客戶端編碼
var selStr=document.getElementsByName('selStr')[0].value;
selStr=encodeURI(encodeURI(selStr));
window.open('printWindow.do bm=j&selStr='+selStr+'');
注意:編碼的時(shí)候需要使用兩次encodeUri,寫(xiě)一個(gè)就是????號(hào),寫(xiě)兩個(gè)則輸出: %4d%5a這種
2、服務(wù)器端解碼:
String tempSelStrs=request.getParameter("selStr").toString();
String selStr=java.net.URLDecoder.decode(tempSelStrs,"UTF-8");