<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta content="text/html; charset=gb2312" http-equiv="Content-Type" /> 
<title>QueryString获取演示代码</title> 
<script type="text/javascript">
function getQueryString()
{
//var aa=unescape(location.href);
//alert(aa);
//var ee=decodeURI(aa);
//alert(ee);
var result=location.search.match(new RegExp("[\?\&][^\?\&]+=[^\?\&]+","g"));
if(result!=null)
{
for(var i=0;i<result.length;i++)
{
result[i]=result[i].substring(1);
}
return result;
}
return null;
}
</script>
</head>
<body>
<form name="frm" method="get">
<input type="text" name="aa" value="" />
<input type="submit" value="Submit" />
</form>
<div> 
<span>QueryString : </span><span id="queryString"></span> 
</div> 
<!--页面加载时执行的操作--> 
<script type="text/javascript"> 
//显示所有QueryString 
document.getElementById("queryString").innerHTML = getQueryString(); 
</script> 
</body>
</html>在文本框中输入中文,点击提交按钮,得到的查询字符串:?aa=%CD%E6%CD%EA
这种情况下,我可以直接将乱码的字符,转换成原来的中文字符吗?

解决方案 »

  1.   

    http://www.jb51.net/article/15238.htm代码
      

  2.   

    应该是ie浏览器自动编码的,却不知道以什么方式编的,不知道该怎么去解码。
    如果之前的中文用encodeURI()进行编码,之后在用decodeURI()进行解码,这样的话应该是可以的。
      

  3.   

    用decodeURI或者decodeURIComponent函数还原
      

  4.   

    孟子E章:你提供的代码,用到了VBSCRIPT,我觉得不太实用。
    直接用js的decodeURI()也不行的。
      

  5.   

    decodeURI()或decodeURIComponent()程序会报错:
    错误:被解码的URI不是合法的编码
      

  6.   

     result[i]=decodeURI(result[i].substring(1));起码FF下OK
      

  7.   

    客户端需要安装 flashplayer 才能使用
    http://www.ialvin.cn/util/py.htm
      

  8.   

    from表单提交的有两中方式,一个get,post
    默认的时候是get,但get不安全,而且url不得超过255个字符
    它也有个弊端,就是在传中文的时候会乱码,所以要转码,还有超连接也是get提交
    ,所以超链接在传中文字符的时候也要转码不过我不会js转码,我会jsp你把你的提交方式改为post不就可以了吗!~~
      

  9.   

    encodeURI(encodeURI("你的内容")),后台再转码
    或者encodeURIComponent(encodeURIComponent("你的内容"),后台转码java.net.URLDecoder.decode("你的内容", "UTF-8");
      

  10.   

    提交方式改为post也是不行的。