<html>
<title>汉字url转码gb2312</title>
<head>
<SCRIPT LANGUAGE="JavaScript">
<!--
//汉字url转码gb2312
function Hex(n){
c = n;
execScript("c = Hex(c)", "vbscript");
return c;
}
function Asc(s){
c = s;
execScript("c = Asc(c)", "vbscript");
return c;
}
function gb2312Encode(str){
var string = "";
c = s = "";
var high = "";
var low = "";
for(var i = 0; i < str.length; i++)
{
c = Asc(str.charAt(i));
if(Math.abs(c) < 0xFF)
string += str.charAt(i);
else
{
if(c < 0) c += 0x10000;
high = ((c & 0xFF00) >> 8) & 0x00FF;
low = c & 0xFF;
string += "%" + Hex(high) + "%" + Hex(low);
}
}
return string;
}
//-->
</SCRIPT>
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
<!--
document.write(gb2312Encode("汉字"));
//-->
</SCRIPT>
</body>
</html>
**********************************
google chrome已检查出是“execScript”的问题,但我不会改,请帮帮忙,谢谢了!
或重给我一段更好的客户端汉字url转gb2312码的也可以,谢谢。
我的目的是网址的伪静态,比如"/汉字.htm","汉字"实际上是一个参数,但“汉字.htm”是认不出来的,只有转成“%BA%BA%D7%D6.htm”才认得出。另外,我用的cms本来就是gb2312编码的。
尊敬的用户,您好!很高兴为您答疑。
您这是vbscript语法,在非IE内核浏览器下无法执行;而关于编码的工具,您可以查看此处:OSTools 在线工具
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
是这样啊,还有什么别的办法吗?
我的目的是网址的伪静态,比如"/汉字.htm","汉字"实际上是一个参数,但“汉字.htm”是认不出来的,只有转成“%BA%BA%D7%D6.htm”才认得出。另外,我用的cms本来就是gb2312编码的。
没特别好的办法把 你用utf-8编码不行吗
追问已用gb2312的有一段时间了,不合适再改了。
追答恐怕是没有好的办法 你可以查一下 我不知道
追问谢谢,我再想想办法。
本回答被提问者采纳