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 之类是正常的
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: php mysql 查询取得今天,昨天,过去N天,过去一个星期,一个月的记录