Crazy lens

rawurlencode 和urlencode 的区别
在生产环境中传递参数内容不可控因素太多, 例如用户名... 奇葩用户多不胜数昨天遇到一个问题就是需要传递用户名称,...
扫描右侧二维码阅读全文
23
2017/06

rawurlencode 和urlencode 的区别

在生产环境中传递参数内容不可控因素太多, 例如用户名... 奇葩用户多不胜数

昨天遇到一个问题就是需要传递用户名称, 单用户名称可能回合字符间隔符一直的问题, 所以需要在传参前进行编码

同事让我用 rawurlencode 因为 urlencode 转空格时回转换为 + ;而 rawurlencode 转空格时会是 %20

来看下代码实例:

<?php
$string = ' len 你好';
echo urlencode($string) ,PHP_EOL;
echo rawurlencode($string) ,PHP_EOL;        


+len+%E4%BD%A0%E5%A5%BD
%20len%20%E4%BD%A0%E5%A5%BD
[Finished in 1.3s]

二者差别就在于空格的转换, 我觉得变为 '+' 或 %20 只要是decode 后那都是可以的但使用前一定要确认传参类型

最后修改:2017 年 06 月 23 日 08 : 18 AM
如果觉得我的文章对你有用,请随意赞赏

发表评论