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

来源:互联网 发布:淘宝店铺号 编辑:程序博客网 时间:2024/05/19 14:18

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 之类是正常的

0 0