萬盛學電腦網

 萬盛學電腦網 >> 網絡基礎知識 >> encodeURI decodeURI 解決地址傳參亂碼問題

encodeURI decodeURI 解決地址傳參亂碼問題

當以url的形式(url?param=...)傳遞參數時,如果傳遞的是日文,或中文字符串那麼在接收的時候是亂碼形式。

javascript:
encodeURI(value):將value轉換成utf-8,
decodeURI(value):將utf-8的value反轉成字符串。

java:
URLDecoder.decode(value, "utf-8");
URLEncoder.encode(value, "utf-8");

 -----------------------------------java端另一種解決方法--------------------------------------------

jsp頁面上有一個文本框:
<input type="text" name="companyName" value='<%=request.getAttribute("companyName") %>'/>

當文本框內容是漢字或者日文的時候,servlet中獲得此文本框內容時是亂碼:
request.getParameter("companyName");

解決:
String str = request.getParameter("companyName");

當文本框是中文時:
new String(str.getBytes("ISO-8859-1"), "GB2312");
當文本框是日文時:
new String(str.getBytes("ISO8859-1"), "UTF-8");

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

ASCII:美國信息互換標准代碼非ASCII編碼:
GB2312:漢字編碼標准
GBK:擴展了兼容GB2312
SJIS:日文編碼標准

MS932:對於SJIS得擴展

Unicode:廢除所有地區編碼規范,提出統一編碼原則

UTF-8:Unicode的實現方式之一

---------------------------------------以下轉---------------------------------

copyright © 萬盛學電腦網 all rights reserved