中文乱码解决方式

碰到中文乱码的问题,在百度和谷歌中晃荡了很久,tomcat也配置了URIEncoding,也写了filter过滤器就是不行。
有两种方式:
第一种:通过js将编码进行转换。
代码如下:

var changeURL = function(url, datas) { 
      var str = ""; 
      for ( var i in datas) { 
         str += "&" + i + "=" + encodeURI(datas[i]); 
      } 
      if (str.length == 0) { 
         return url; 
      } 
      return url + "?" + str.substr(1); 
} 

 在代码中进行调用示例如下:

var datas={123:"124",name:"aaa"}; 
var url=changeURL("test.do",datas); 
alert(url); 

 第二种方式:通过伪form进行post数据提交,因为post提交的数据时不会出现乱码的。
代码如下:

function postCommit(divId,url,datas){ 
  var str="<form action='"+url+"' method='post'>"; 
   for(var i in datas){ 
     str+="<input type='hidden' name='"+i+"' value='"+datas[i]+"' />"; 
  } 
  str+="</form>"; 
  document.getElementById(divId).innerHTML=str; 
   document.getElementById(divId).getElementsByTagName("form")[0].submit(); 
} 

 

调用的例子如下:

var datas={loginName:"124",loginPassword:"aaa"}; 
postCommit("aaaa","bbbb.do",datas); 

 这个需要在页面中加入id为aaaa的div,代码如下:

<div id="aaaa"></div> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值