php的escape函数问题,错误

yzxlyl 2006-07-06 10:44:21
网上找到的大家都说好用的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的结果都不一样,网上很多人还说好用?


...全文
413 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Broadsea 2006-09-27
  • 打赏
  • 举报
回复
怎么解决的这个问题,我这里也是一样的问题。

PHP 5.04
yzxlyl 2006-07-06
  • 打赏
  • 举报
回复
php 4.0的
xuzuning 2006-07-06
  • 打赏
  • 举报
回复
没有问题呀

echo escape("我们");// %u6211%u4eec
document.write(escape("我们"));// %u6211%u4EEC

请告知你的php版本

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧