查看文章
 
AJAX 汉字 乱码 解决方法
2009-05-20 22:59

碰到AJAX乱码问题了,搞了一晚上,总结如下:

全站采用UTF-8的情况下,采用POST方式是不会乱码的,GET会乱码。

如果出现乱码,尝试用以下办法解决:

方法1、用JS的encodeURIComponent() 函数过一下要传递的字符串即可; PHP端无须处理。

方法2、用JS的escape() 函数过一下要传递的字符串,然后PHP端用一个自定义的函数解码即可:

<?php

$title=unescape($_GET["title"]);

function unescape($str) {
$str = rawurldecode($str);
preg_match_all("/(?:%u.{4})|.+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
    if(substr($v,0,2) == "%u" && strlen($v) == 6)
      $ar[$k] = iconv("UCS-2","UTF-8",pack("H4",substr($v,-4)));   // 根据需要将UTF-8改成你自己的编码
}
return join("",$ar);
}

?>

方法1比方法2省事,当然,全站UTF-8才是王道!哈哈。


类别:Ajax||添加到搜藏 |分享到i贴吧|浏览(780)|评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu