`
zhanchaojiang
  • 浏览: 112755 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

PHP的rawurlencode和urlencode

阅读更多

问题:2个函数都是针对字符串转义使其适合做文件名。该用哪个?哪个更标准?

结论:
rawurlencode遵守是94年国际标准备忘录RFC 1738
urlencode实现的是传统做法,和上者的主要区别是对空格的转义是'+'而不是'%20'
javascript的encodeURL也是94年标准,

而javascript的escape是另一种用"%xxx"标记unicode编码的方法。

推荐在PHP中使用用rawurlencode。弃用urlencode

 

样例
source:

超级无敌的人sadha sajdh数据样本sdls fhejrthcxzb.file.jpeg

PHP urlencode:

%E8%B6%85%E7%BA%A7%E6%97%A0%E6%95%8C%E7%9A%84%E4%BA%BAsadha+sajdh%E6%95%B0%E6%8D%AE%E6%A0%B7%E6%9C%ACsdls+fhejrthcxzb.file.jpeg

PHP rawurlencode:

%E8%B6%85%E7%BA%A7%E6%97%A0%E6%95%8C%E7%9A%84%E4%BA%BAsadha%20sajdh%E6%95%B0%E6%8D%AE%E6%A0%B7%E6%9C%ACsdls%20fhejrthcxzb.file.jpeg

Javascript encodeURI:

%E8%B6%85%E7%BA%A7%E6%97%A0%E6%95%8C%E7%9A%84%E4%BA%BAsadha%20sajdh%E6%95%B0%E6%8D%AE%E6%A0%B7%E6%9C%ACsdls%20fhejrthcxzb.file.jpeg

Javascript escape:

%u8D85%u7EA7%u65E0%u654C%u7684%u4EBAsadha%20sajdh%u6570%u636E%u6837%u672Csdls%20fhejrthcxzb.file.jpeg

分享到:
评论

相关推荐

    PHP rawurlencode与urlencode函数的深入分析

    在处理Web应用中的URL编码问题时,PHP开发者通常会使用rawurlencode和urlencode这两个函数。这两个函数都能对字符串进行编码,使得它们能够在URL中安全使用。然而,尽管这两个函数看起来十分相似,它们的用途和编码...

    浅谈php中urlencode与rawurlencode的区别

    在PHP编程语言中,`urlencode` 和 `rawurlencode` 是两个用于编码URL字符串的重要函数,它们的主要区别在于编码规则和应用场景。这篇文章将深入探讨这两个函数的功能、差异以及何时使用它们。 `urlencode` 函数是...

    PHP中文URL编解码(urlencode()rawurlencode()

    下面是详细解释:///\\\ string urlencode ( string str) 返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST ...

    php的urlencode()URL编码函数浅析

    在PHP中,有两个函数可以进行URL编码:urlencode() 和 rawurlencode()。这两个函数的基本功能是相似的,它们都是将字符串转换为URL编码格式,但它们在处理空格字符时有所不同。urlencode() 将空格转换为加号“+”,...

    fy-escape_php_php解密_

    在PHP中,`urlencode()`和`rawurlencode()`函数常用于URL编码。`urlencode()`将非字母数字字符转换为百分号(%)编码,而`rawurlencode()`按照RFC 3986标准编码,对于空格使用加号(+)而不是百分号。这两个函数确保...

    PHP实例开发源码—URL编码转换工具.zip

    此外,PHP还提供了`rawurlencode()`和`rawurldecode()`函数。这两个函数与`urlencode()`和`urldecode()`类似,但它们遵循RFC 3986标准,对于某些字符(如"+"和"/")的处理有所不同。`rawurlencode()`会将空格编码为...

    PHP 加密解密和解决URL传输问题

    PHP的`urlencode`和`urldecode`函数可以实现URL编码和解码。然而,加密后的数据可能会包含非ASCII字符,这时我们需要先对加密结果进行Base64编码,因为Base64编码后的结果只包含可打印的ASCII字符。PHP的`base64_...

    基于PHP的URL编码转换工具 v1.3.zip

    PHP提供了内置的函数来处理URL编码,如`urlencode()`用于编码单个字符串,`urldecode()`用于解码,还有`rawurlencode()`和`rawurldecode()`用于更严格的编码和解码,它们遵循RFC 3986标准,不对加号"+"和斜线"/"进行...

    PHP笔试题目汇总 提高您的面试成功率

    11. `rawurlencode`和`urlencode`的区别: - `rawurlencode`将空格转换为%20,而`urlencode`将空格转换为+。 12. PHP过滤HTML的函数是`strip_tags`,转义HTML特殊字符的函数是`htmlspecialchars`。 13. 过滤HTML...

    PHP解决URL中文GBK乱码问题的两种方法

    您可能感兴趣的文章:PHP fopen 读取带中文URL地址的一点见解PHP中文URL编解码(urlencode()rawurlencode()php中解析带中文字符的url函数分享php中url传递中文字符,特殊危险字符的解决方法php下目前为目最全的CURL...

    基于ASP的中文域名转码系统 php版.zip

    1. **PHP的字符串处理函数**:例如`iconv`用于字符集转换,`urlencode`或`rawurlencode`进行URL编码。 2. **Punycode扩展**:PHP可能需要安装如`idn_to_ascii`这样的扩展来实现Punycode转换。 3. **HTTP头处理**:...

    php中url传递中文字符,特殊危险字符的解决方法

    - 除了`urldecode()`,还可以使用`rawurlencode()`和`rawurldecode()`。`rawurlencode()`在编码时不会对空格使用'+',而是使用'%',`rawurldecode()`则对应地解码。 在实际开发中,应该结合使用这些方法,确保数据...

    PHP实现Javascript中的escape及unescape函数代码分享_.docx

    虽然PHP内建的`urlencode`和`urldecode`函数可以处理大部分URL编码问题,但这些自定义函数更专注于处理Unicode和GBK编码的特殊情况。在实际开发中,根据具体需求选择合适的函数或自定义实现是十分重要的。

    腾讯PHP开发工程师笔试试卷

    为确保兼容,可以使用PHP的`rawurlencode()`和`rawurldecode()`,以及JavaScript的`encodeURI()`和`decodeURI()`。 8. Memcache的key分布算法: Memcache通常使用一致性哈希算法,保证数据分布均匀。故障时,...

    php处理带有中文URL的方法

    除了手动编码和解码,PHP还提供了一些其他函数来处理URL编码,如`rawurlencode()`和`rawurldecode()`,它们不编码加号 `+` 和斜杠 `/`,但同样不适用于处理UTF-8的中文字符。对于中文URL,`link_urldecode()`这样的...

Global site tag (gtag.js) - Google Analytics