php url decode问题:+被转义成空格问题

php代码用 urlencode/urldecode, "+"在urldecode时会被转成空格,看代码如下

$str = "QQ:¥¥++";
echo "ori=$str";
echo "<br/>";
echo "encode=".urlencode($str);
echo "|<br/>";
echo "decode=".urldecode($str);
echo "|<br/>";die();

ori=QQ:¥¥++
encode=QQ%3A%A3%A4%A3%A4%2B%2B|
decode=QQ:¥¥ |

声明只有content-type为application/x-www-form-urlencoded时才会对+做转义。

如果想偷懒可以直接用 rawurlencode/rawurldecode

也就是php又搞了rawurlencode和rawurldecode把标准实现了。。。。

(参考来源:http://www.jb51.net/article/29254.htm)


还有个问题:如果用url传递中文参数,请都使用encode后再传递,不然 IE 下通过_GET取到的数据可能会出问题,其他Firefox / 360 之类是正常的

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值