当前位置: 代码迷 >> Web前端 >> 中文乱码解决形式
  详细解决方案

中文乱码解决形式

热度:94   发布时间:2012-10-26 10:30:59.0
中文乱码解决方式

碰到中文乱码的问题,在百度和谷歌中晃荡了很久,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>?
  相关解决方案