说到乱码问题,要用到JavaScript unescape() 函数;他的具体用法如下:
定义和用法 unescape() 函数可对通过 escape() 编码的字符串进行解码。
语法
unescape(string)
参数
描述
string
必需。要解码或反转义的字符串。
返回值
string 被解码后的一个副本。
说明
该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 /u00xx 和 /uxxxx 替换这样的字符序列进行解码。
提示和注释
注释:ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。
实例
在本例中,我们将使用 escape() 来编码字符串,然后使用 unescape() 对其解码:
输出:
Visit%20W3School%21Visit W3School!
具体的例子如下:
请求的html页面(send.html)
function sub(){
var froms = document.getElementById("form1");
var flag=document.getElementById("ceshi").value;
froms.action="ceshiAction.action?ceshi=escape("+flag+")",
froms.submit();
}
参数:
接受参数的静态页面(jieshou.html):
function getparastr(strname)
{
var hrefstr,pos,parastr,para,tempstr;
hrefstr = window.location.href;
var leng=hrefstr.length;
var array = hrefstr.split("=");
for(i=0;i<=array.length;i++)
{
document.write(array[i+1].substr(7,array[i+1].length-8)+" ");
if(i==array.length-2){
break;
}
}
return unescape(hrefstr).substr(61,leng-63);
}
// 获取program参数
var programstr = getparastr("program");document.write();