首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >urldecode()不解码+符号

urldecode()不解码+符号
EN

Stack Overflow用户
提问于 2015-03-04 14:41:49
回答 2查看 127关注 0票数 0

我正在工作的PayPal支付系统,我想发送2个值在自定义字段。为此,我使用了urlencode(json_encode())功能。这是一个没有urlencoding的例子。

代码语言:javascript
复制
$customData = array();
$customData['invoiceID'] = $invoiceID;
$customData['username'] = urlencode($_GET['username']);

$p->add_field('custom', urlencode(json_encode($customData)));

产出如下:

代码语言:javascript
复制
%7B%22invoiceID%22%3A108674%2C%22username%22%3A%22Just%2Btesting%22%7D

当and解码和when解码时所期望的输出:

代码语言:javascript
复制
{"invoiceID":108674,"username":"Just testing"}

但它给了我这个在解码和this解码之后:

代码语言:javascript
复制
{"invoiceID":108674,"username":"Just testing"}

解决此问题的方法是再次对用户名本身进行urldecode。但是,为什么我需要双倍的urldecode才能得到我只运行了一次这个函数的值呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-04 14:55:51

似乎您要对数据应用两次urlencode(),所以需要应用两次urldecode()或删除其中的一次。

票数 1
EN

Stack Overflow用户

发布于 2015-03-04 14:57:08

我认为“自定义”字段用于识别另一端的请求,对吗?因此,该字段是供您使用的,而不是paypal。我觉得对它进行编码是个好主意。但是,如果您想让它在paypals后端生存,您可能需要使用base64encode和base64decode。

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

https://stackoverflow.com/questions/28857267

复制
相关文章

相似问题

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