首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

jQuery中文乱码处置总结

2012-09-16 
jQuery中文乱码处理总结jQuery中文乱码处理总结:1.最简单的方式,是将项目的编码统一设置为UTF-8. 将数据交

jQuery中文乱码处理总结
jQuery中文乱码处理总结:

1.  最简单的方式,是将项目的编码统一设置为UTF-8. 将数据交互时的编码都统一为"UTF-8";

2.  如果项目的编码已经统一设置为GBK或GB2312,则在ajax调用向服务端传递中文参数时容易出现中文乱码, 这时的处理方式如下:

后台如:

/* =============禁止缓存============== */
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
/* =============禁止缓存============== */
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
//request.setCharacterEncoding("UTF-8");
String userName = request.getParameter("userName");
userName=URLDecoder.decode(userName, "UTF-8");

前台如:

var myurl="grzx/validateUserNameIsExists.do?userName="+username;
myurl=encodeURI(myurl);
myurl=encodeURI(myurl);
jQuery.ajax({
url:myurl,
type:'POST',
async:false,
data:{},
success:function(data){
    var msg=eval('('+data+')');
  //  var msg=JSON.parse(data);
      if(!msg.result){
    jQuery('#myusername').attr('value','');
         alert('用户名已存在!请用新的用户名');
      }
    }
   }); 

进行两次编码。  在前台传递的“哈哈大笑”,在后台编码前为:“%E5%93%88%E5%93%88%E5%A4%A7%E7%AC%91”;就算成功了。

当然也可以只进行一次编码,方式是将jquery的编码设置为"UTF-8"; 加上;charset='UTF-8'就好了。

热点排行