开发者社区> 问答> 正文

php的urlencode和rawurlencode对空格编码的区别

我最近在使用urlencode对字符串进行编码时发现它将空格字符串编码为了+,但是如果你用rawurlencode来编码,空格字符串就会变为%20。而且在浏览器里输入空格后,它都会将其转化为%20。
screenshot
这两者有什么区别吗?后端服务器在接受这两种编码请求时会有和不同呢?

我试着将http://zh.wikipedia.org/wiki/Internet%20Explorer%207 网址替换为http://zh.wikipedia.org/wiki/Internet+Explorer+7 ,发现就无法识别了。

展开
收起
落地花开啦 2016-06-12 15:34:20 2856 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    当数据进入提交HTML表单,表单字段名称和值进行编码和发送到服务器的HTTP GET或POST请求消息使用方法,或者,从历史上看,通过电子邮件。默认情况下使用的编码是基于一个非常早期版本的通用URI百分比编码规则,与一些修改,如换行符正常化和空格替换为“+”,而不是“% 20”。MIME类型数据的编码方法是应用程序/ x-www-form-urlencoded,和目前定义(仍然处于非常过时的方式)在HTML和XForms规范。

    screenshot

    2019-07-17 19:34:16
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载