<script language="javascript">
str="家"
strEncode=UrlEncode(str);
strDecode=UrlDecode(strEncode);
alert(strDecode); strDecode alert出来乱码;function UrlDecode(str){
var ret="";
for(var i=0;i<str.length;i++)
{
var chr = str.charAt(i);
if(chr == "+")
{
ret+=" ";
}
else if(chr=="%")
{
var asc = str.substring(i+1,i+3);
if(parseInt("0x"+asc)>0x7f)
{
ret+=asc2str(parseInt("0x"+asc+str.substring(i+4,i+6)));
i+=5;
}
else
{
ret+=asc2str(parseInt("0x"+asc));
i+=2;
}
}
else
{
ret+= chr;
}
}
return ret;
}
function UrlEncode(str)
{
var ret="";
var strSpecial="!\"#$%&()*+,/:;<=>?[]^`{|}~%"; var tt="";
for(var i=0;i<str.length;i++)
{
var chr = str.charAt(i);
var c=str2asc(chr);
tt += chr+":"+c+"n";
if(parseInt("0x"+c) > 0x7f)
{
ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
}
else
{
if(chr==" ")
ret+="+";
else if(strSpecial.indexOf(chr)!=-1)
ret+="%"+c.toString(16);
else
ret+=chr;
}
}
return ret;
}
</script>
这JS是在网上找的。 是什么问题导致乱码的呢?
str="家"
strEncode=UrlEncode(str);
strDecode=UrlDecode(strEncode);
alert(strDecode); strDecode alert出来乱码;function UrlDecode(str){
var ret="";
for(var i=0;i<str.length;i++)
{
var chr = str.charAt(i);
if(chr == "+")
{
ret+=" ";
}
else if(chr=="%")
{
var asc = str.substring(i+1,i+3);
if(parseInt("0x"+asc)>0x7f)
{
ret+=asc2str(parseInt("0x"+asc+str.substring(i+4,i+6)));
i+=5;
}
else
{
ret+=asc2str(parseInt("0x"+asc));
i+=2;
}
}
else
{
ret+= chr;
}
}
return ret;
}
function UrlEncode(str)
{
var ret="";
var strSpecial="!\"#$%&()*+,/:;<=>?[]^`{|}~%"; var tt="";
for(var i=0;i<str.length;i++)
{
var chr = str.charAt(i);
var c=str2asc(chr);
tt += chr+":"+c+"n";
if(parseInt("0x"+c) > 0x7f)
{
ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
}
else
{
if(chr==" ")
ret+="+";
else if(strSpecial.indexOf(chr)!=-1)
ret+="%"+c.toString(16);
else
ret+=chr;
}
}
return ret;
}
</script>
这JS是在网上找的。 是什么问题导致乱码的呢?
解决方案 »
- 高手帮忙看看
- 求指点迷津~~标题要短~要短~要短~要短~要短~……
- 怎么用js显示投票后的比例
- 在线寻求帮助,如何读取XML的数据保存到tabel中。
- 有个非常难的有关于SESSION的问题
- 一个关于在IE中动态改变鼠标光标的问题???
- 请问大家一个JAVAScript的问题,如何得到一个文本筐中输入字符的长度?(汉字算两个字符)
- 求一简单正则表达式:如何将"替换成'呢?
- 关于加在innerHTML中加script的问题
- <title> * </title>要用javascript中的东西怎么办?
- 在js里边想把一个alter弹出框改为弹出一个表格样式的网页或对话框,请前辈指点!小弟先感谢了!
- 问个 js控制加载问题!
为什么不用