位置: 编程技术 - 正文

浅谈php中urlencode与rawurlencode的区别(php的urlencode)

编辑:rootadmin

推荐整理分享浅谈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 格式以免其被传输媒体(像一些邮件系统)使用字符转换时弄乱。下面我们来看一下例子:

具体例子比较:

比较二者的结果:

浅谈php中urlencode与rawurlencode的区别(php的urlencode)

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.静态文件,不需要编译,减少了服务器脚本运行的时间,降低了服务器的响应时间,直

本文链接地址:https://www.jiuchutong.com/biancheng/301874.html 转载请保留说明!

上一篇:浅谈mysql_query()函数的返回值问题(浅谈建筑地基基础加固施工技术亲)

下一篇:PHP会员找回密码功能的简单实现(php会员到期功能)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络