1

我正在使用 implode 创建一个查询字符串,但其中出现了一个意外的符号,我不确定它来自哪里

如果有人有任何见解,将不胜感激。

$url = "https://mypay.com/billing/signup.cgi";



$key = "11";
$key .= "11";
$key .= "GBP";
$key .= "QQDNfAHlC2WEEfhfhFFdhbdf";

$variables[] = "?formDigest=".md5($key);
$variables[] = "clientAccnum=1111";
$variables[] = "clientSubacc=1111";
$variables[] = "formName=108ck";
$variables[] = "formPrice=11";
$variables[] = "formPeriod=11";
$variables[] = "currencyCode=GBP";


$url .= implode("&", $variables);

echo $url;

字符串

https://bill.ccbill.com/jpost/signup.cgi?formDigest=df03f2b103f79bd5de34c6cfea405ec5&clientAccnum=1111&clientSubacc=1111&formName=108ck&formPrice=11&formPeriod=11¤cyCode=GBP

注意¤货币代码应该在的符号。

谢谢你们的帮助!

4

2 回答 2

4

implode工作正常。

这里的问题是您正在输出 HTML 文本 ( echo $url),但您没有正确编码 HTML 特殊字符htmlspecialchars

当浏览器看到子字符串&currencyCode=GBP时,它会猜测您的意思是¤Code=GBP¤是货币符号的HTML 实体,这就是您在屏幕上看到的内容。

更改代码以echo htmlspecialchars($url)立即看到差异;要获得完全正确的解决方案,请注意并为 的前三个参数提供正确的值htmlspecialchars

于 2012-10-30T11:59:24.630 回答
-1

¤ ”将以这种方式显示...将变量名称“ currencyCode ”更改为其他名称,它将起作用

问候

苏迪普

于 2012-10-30T12:03:35.997 回答