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

网站备案号:京ICP备11043289号-1 北京市公安局网络备案 海1101084571
版权所有 北京育灵童科技发展有限公司 Copyright © 2002-2024 www.elight.cn, All Rights Reserved