url decode problem 解决方法


Posted in PHP onDecember 26, 2011

试验了一下python的urllib库以及js 的 encodeURIComponent 均不会替换。空格encode也是替换成了 '%20' 。python提供了urllib.quote_plus, urlib.unquote_plus来处理空格->加号,看起来还是比较合理的。

查了一下 RFC 3986: 有下面一段

Scheme names consist of a sequence of characters beginning with a letter and followed by any combination of letters, digits, plus ("+"), period ("."), or hyphen ("-").
RFC 2396 有下面的一段

The plus "+", dollar "$", and comma "," characters have been added to those in the "reserved" set, since they are treated as reserved within the query component.
表示加号已经是url的保留字了,不需要转义。

然后html4文档里才有关于加号的转义:

application/x-www-form-urlencoded
Forms submitted with this content type must be encoded as follows:
Control names and values are escaped. Space characters are replaced by`+', and then reserved characters.....
声明只有content-type为application/x-www-form-urlencoded时才会对+做转义。

又翻了下php的文档,发现有一个

rawurlencode() - URL-encode according to RFC 3986

也就是php又搞了rawurlencode和rawurldecode把标准实现了。。。。

不能反一下么,毕竟大部分人应该都会用urlencode。php真是蛋疼啊。。。。

PHP 相关文章推荐
PHP Document 代码注释规范
Apr 13 PHP
PHP基础学习小结
Apr 17 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
带密匙的php加密解密示例分享
Jan 29 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
Mar 23 PHP
PHP实现通过get方式识别用户发送邮件的方法
Jul 16 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
Sep 22 PHP
PHP浮点数的一个常见问题
Mar 10 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
Sep 30 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 PHP
微信小程序结合ThinkPHP5授权登陆后获取手机号
Nov 23 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 #PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
Dec 25 #PHP
php操作JSON格式数据的实现代码
Dec 24 #PHP
php文件怎么打开 如何执行php文件
Dec 21 #PHP
使用JSON实现数据的跨域传输的php代码
Dec 20 #PHP
php自动注册登录验证机制实现代码
Dec 20 #PHP
php4与php5的区别小结(配置异同)
Dec 20 #PHP
You might like
PHP静态类
2006/11/25 PHP
密码框显示提示文字jquery示例
2013/08/29 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
2014/04/10 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
2015/02/15 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
Javascript实现base64的加密解密方法示例
2017/06/27 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
Vue自定义弹窗指令的实现代码
2018/08/13 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
2019/04/01 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
python正则分组的应用
2013/11/10 Python
从零学Python之入门(五)缩进和选择
2014/05/27 Python
Python数据结构之翻转链表
2017/02/25 Python
python使用筛选法计算小于给定数字的所有素数
2018/03/19 Python
详解Python字符串切片
2019/05/20 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
Python 自由定制表格的实现示例
2020/03/20 Python
python如何实现图片压缩
2020/09/11 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
2021/02/24 Python
CSS伪类与CSS伪元素的区别及由来具体说明
2012/12/07 HTML / CSS
来自圣地亚哥的实惠太阳镜:Knockaround
2018/08/27 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
就业自荐信
2013/12/04 职场文书
出国英文推荐信
2014/05/10 职场文书
2014年变电站工作总结
2014/12/19 职场文书
MySQL中一条update语句是如何执行的
2022/03/16 MySQL
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js
如何解决goland,idea全局搜索快捷键失效问题
2022/04/03 Golang
《吸血鬼:避世 血猎》官宣4.27发售 系列首款大逃杀
2022/04/03 其他游戏
Win11快速关闭所有广告推荐
2022/04/19 数码科技