首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript encodeURIComponent vs PHP

JavaScript encodeURIComponent vs PHP
EN

Stack Overflow用户
提问于 2011-09-04 23:43:30
回答 4查看 11.2K关注 0票数 6

它们之间的区别在于PHP的urlencode使用+而不是%20对空格进行编码。

在这两种语言中做同样事情的函数是什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-04 23:47:24

在PHP中使用rawurlencode代替urlencode

票数 17
EN

Stack Overflow用户

发布于 2011-09-04 23:52:46

在php自己的文档rawurlencode上点击这个链接

rawurlencode会做到这一点的,链接是供参考的。

票数 1
EN

Stack Overflow用户

发布于 2019-01-10 11:20:21

实际上,即使使用JavaScript encodeURIComponent和PHP rawurlencode,它们也不完全相同,例如'(‘字符,JavaScript encodeURIComponent不会转换它,而PHP rawurlencode会将它转换为%28。经过一些实验和其他人的提示,比如这个问题another Stackoverflow question

我找到了终极解决方案here

您所需要做的就是使用下面的代码

代码语言:javascript
复制
function fixedEncodeURIComponent(str) {
    return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
        return '%' + c.charCodeAt(0).toString(16);
    });
}

它们将被完全相同的现在,例如

代码语言:javascript
复制
fixedEncodeURIComponent(yourUrl) (JavaScript) = (PHP) rawurlencode(yourUrl)

解码没有问题,您可以为JavaScript使用decodeURIComponent(),为PHP使用rawurldecode

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7300328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档