欢迎来到曹鸿源的个人站点
希望我们可以相互学习,谢谢!^o^

       

PHP 的http_build_query关于处理空格编码合理解决方法

 2019-09-30 15:11:11   {{zan}}   0   224 

先说问题:

在使用http_build_query函数生成路由链接的时候,会把参数中的空格变成`+`号处理,导致不能访问。

解决方案:

http_build_query($params, '', '&', PHP_QUERY_RFC3986)


好了,下面开始讲道理了,不想听的可以直接移步至官方教程:https://www.php.net/manual/zh/function.http-build-query.php


PHP5.4版本后支持空格的转码可以通过 enc_type 转换成 (%20)。

http_build_query 默认情况下会将空格转换为(+)加号。

也就是 enc_type 默认使用 PHP_QUERY_RFC1738

如果 enc_type PHP_QUERY_RFC1738,则编码将会以 » RFC 1738 标准和 application/x-www-form-urlencoded 媒体类型进行编码,空格会被编码成加号(+)。

如果 enc_type PHP_QUERY_RFC3986,将根据 » RFC 3986 编码,空格会被百分号编码(%20)。



本文链接地址,转载请标注:https://caohongyuan.cn/article/127

(邮箱不会公开,只会做回复通知用) 提交 清空 {{comment.content}}
Re:{{response.content}}