入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2015-11-25 投稿人: 浏览次数:3332

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。