解决链接方式传递中文参数乱码问题

所谓的链接方式传递中文参数就是 使用<a> 标签传值 因为采用的市 get方式提交有时会产生乱码。有人说正确的配置了tomcat的编码就不会,是的,传递时不会  但是浏览器地址栏就会显示中文参数,如果直接在地址栏回车就会乱码了(IE)

解决的办法应该容易了  就是在传递参数时就中文参数进行编码,让浏览器地址栏不出现中文参数

 

也就是在点击<a>标签式后进行参数编码后在传递,采用方法如下

 

 <script type="text/javascript">
 $(document).ready(function(){ 
    $("a").click(function(){
      var url=this+"";
      var index=url.indexOf('/website');
      var open=true;
       if(index>0){
        url=url.substring(index,url.length);
        open=false;
       }
       //处理中文参数
      var encodeurl="";
      for(var i=0;i<url.length;i++){
       var c=url[i];
        if (escape(url[i]).indexOf('%u') != -1) {
         c=encodeURIComponent(url[i]);
        }
        encodeurl+=c;
      } 
      window.location.href=encodeurl
      //设置超链接失效
      return false;
    });
  });
 </script>

你可能感兴趣的:(JavaScript,乱码,中文参数,ie浏览器)