我一直在测试我的PHP应用程序,使用他们的Trading API在eBay上列出项目。我在测试中取得了成功,但我刚刚在标题中找到了一些带有&符号的项目。
此错误不断返回。
XML Error Text: "; nested exception is:
org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference
它告诉我的是,我不能简单地传递&符号。
为了解决这个问题,我尝试了几件事:
$string = 'LEUPOLD 66325 4.5-14x50 VX-3 RIFLE SCOPE - SILVER, B&C BOONE & CROCKETT RETICLE';
echo str_replace("&","&",$string);
echo str_replace("&","&",$string);
echo htmlspecialchars($string,ENT_NOQUOTES);
echo htmlspecialchars($string);
echo htmlspecialchars_decode($string);
也尝试过这样的
<![CDATA['.$string.']]>
无论我做什么,当我通过它时它都不会成功。
感谢大家的帮助。
答案 0 :(得分:4)
您提交的数据是否为UTF8?如果不是,那可能是你的问题。
http://developer.ebay.com/Devzone/return-management/Concepts/MakingACall.html#utf8encoding
所有参数值都应以UTF-8格式编码。 UTF-8是API请求的默认编码。