php的escape函数问题,错误
网上找到的大家都说好用的php 的escape函数
function escape($str) {
//echo $str;
preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(ord($v) < 128)
$ar[$k] = rawurlencode($v);
else
$ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v));
}
return join("",$ar);
}
我测试了一下 echo escape("我们"); 返回: %u1162%uec4e
我用javascript的escape函数 alert(escape("我们")): 返回: %u6211%u4EEC
怎么不一样呢?所以我用js的unescape出来的是乱码。问题在哪啊?用php的escape函数,不就是想和js数据传送吗?escape的结果都不一样,网上很多人还说好用?