Ajax汉字乱码解决方法
2016-8-20 zhulinan JavaScript
碰到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);
}
?>
原文地址:http://hi.baidu.com/fenggandeguozi/blog/item/189df33775babd390a55a995.html