我有一个运行良好的基本 php paypal 脚本(我在沙盒上工作)
我的问题是我从 paypal 得到的响应是不可读的,因此不能用来做我想做的事情,即更新我的数据库
这是我得到的:
Array
(
[TOKEN] => EC%xxxxx0T
[BILLINGAGREEMENTACCEPTEDSTATUS] => 0
[CHECKOUTSTATUS] => PaymentActionCompleted
[TIMESTAMP] => 2015%2d05%2d15T08%3a23%3a58Z
[ACK] => Success
[VERSION] => 109%2e0
[BUILD] => 16684246
[EMAIL] => mymail%40gmail%2ecom
[PAYERSTATUS] => verified
[FIRSTNAME] => myfname
[LASTNAME] => mylname
[COUNTRYCODE] => US
[SHIPTONAME] => fname%20lname
[SHIPTOSTREET] => 1%20Main%20St
[SHIPTOCITY] => San%20Jose
[SHIPTOSTATE] => CA
[SHIPTOZIP] => 95131
[SHIPTOCOUNTRYCODE] => US
[SHIPTOCOUNTRYNAME] => United%20States
[ADDRESSSTATUS] => Confirmed
[CURRENCYCODE] => USD
[AMT] => 96%2e00
.........
如图所示,我收到了上述响应,例如,我无法将时间戳以这种格式存储在数据库中:[TIMESTAMP] => 2015%2d05%2d15T08%3a23%3a58Z 或像这样的电子邮件:[EMAIL] => mymail%40gmail%2ecom
我试过像这样使用 utf8:
header('Content-Type: text/html; charset=utf-8');
但好像没什么用
如何将从 paypal 收到的响应解码为友好可读的格式?
最佳答案
你必须使用 urldecode()
函数。
例如:
$data = "mymail%40gmail%2ecom";
echo urldecode($data);
输出:
mymail@gmail.com
关于PHP - 将从 paypal 发送的数据解码为友好的可读格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30255024/