jQuery AJAX中文乱码处理

最近工作中用jQuery ajax返回出现乱码,用的Notepad++编辑器,当JS部分传递中文时,另一页面接收的话会出现乱码,在网上找了很多方法,基本上没有很好的解决。

   页面用GB2312编码,JS部分得到中文字符:var playerName=$('#playerName').val(); 可以这样处理:

在ajax代码部分:

$.ajax({

   url:   'getName.php',

   type:  'GET',

   cache: false,

   data:{

     'playerName':   encodeURIComponent(playerName)//解决问题的关键点

   },

   success:function(response){

     ……

   }

});

   这里要注意的是jQuery的ajax中处理中文是UTF-8格式,在另外一个页面可以这样处理:在文件头部加上

header("Content-type:text/html;charset:gbk");这里的gbk可以处理繁体和简体(工作需要^_^),接收name时:

   $playerName=urldecode($_GET['playerName']);

   $playerName=iconv('utf-8','gbk',$playerName);

   当然,我的编辑器NotePad++默认编码是ANSI格式的,这个没多大影响~~。

   前一周我还准备放弃Notepad++,改用Zend来开发,用了一周之后,才发现还是我的Notepad++好,怎么感觉有点“老婆还是第一任的好呢。。”有点小邪恶^^.

   对了,上面jquery中ajax使设置了cache:false,这个针对IE是必须要加的,不然用了ajax,数据还是以前的,没变,IE缓存太邪恶了,亲爱的firefox就不会出现这种情况^^.

   还是那句话,jquery简直太强大了!

posted @ 2013-12-26 14:08  牧涛  阅读(7720)  评论(1编辑  收藏  举报