jQuery AJAX中文乱码处理

时间:2021-07-25 09:40:22

最近工作中用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简直太强大了!