位置: 编程技术 - 正文
推荐整理分享浅谈php中urlencode与rawurlencode的区别(php的urlencode),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php urldecode,php url函数,php中设置url参数的方法有哪些,php中url什么意思,php url,php urldecode,php的urlencode,php的urlencode,内容如对您有帮助,希望把文章链接给更多的朋友!
前段时间说自己遇到了个《URL加号引发错误》的BUG,引起这个bug的原因就是自己在URL中使用了 urlencode 函数,该函数会把空格转换成加号,这样就导致URL解析出错,而空格只有转换成 % 才可以可以正常解析,这时我们就需要使用 rawurlencode 函数。
下面就介绍一下 urlencode 函数与 rawurlencode 函数的区别:
urlencode 函数:
返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC 编码(参见 rawurlencode())不同。
rawurlencode 函数:
返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。这是在 » RFC 中描述的编码,是为了保护原义字符以免其被解释为特殊的 URL 定界符,同时保护 URL 格式以免其被传输媒体(像一些邮件系统)使用字符转换时弄乱。下面我们来看一下例子:
具体例子比较:
比较二者的结果:
1. 数字、大小写字母都不编码2. 减号、点号、下划线 三个不编码3. rawurlencode比urlencode多编码一个”加号“
关于JavaScript中escape与encodeURIComponent的区别:
结果说明:
1. encodeURIComponent 总是把输入转换成utf8编码处理的,按字节编码
2. escape是按照unicode编码处理的,因为它也对url中不安全的字符做了编码,所以也可以在url中做编码使用,但是,服务器端不会自动解码,下面提供一个PHP版的解码函数,是用手册里找的:
结果比较:
escape未编码的字符: *+-./@_ 共7个
encodeURIComponent未编码的字符: !'()*-._~ 共9个
以上这篇浅谈php中urlencode与rawurlencode的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。
PHP会员找回密码功能的简单实现 设置思路1、用户注册时需要提供一个E-MAIL邮箱,目的就是用该邮箱找回密码。2、当用户忘记密码或用户名时,点击登录页面的找回密码超链接,打开表
基于PHP实现短信验证码接口(容联运通讯) 自己也是刚刚研究,希望对也在研究的伙伴有帮助。步骤:1、登录荣联运通讯注册获取ACCOUNTSID、AUTHTOKEN、RestURL(生产)、AppID(默认);2、注册测试用手机
PHP实现页面静态化的超简单方法 为什么要页面静态化?1.动态文件执行过程:语法分析-编译-运行2.静态文件,不需要编译,减少了服务器脚本运行的时间,降低了服务器的响应时间,直
标签: php的urlencode
本文链接地址:https://www.jiuchutong.com/biancheng/301874.html 转载请保留说明!友情链接: 武汉网站建设