标签: php xml encoding character-encoding exact-online
我的网站与远程API通信以同步数据库。我收到的数据是XML格式,1000条中有999条,这是正确的XML,我可以使用simplexml_load_string直接解析。
simplexml_load_string
然而,1000次中有1次我得到了错误编码的XML,如下图所示。
我必须以某种方式解析这种胡言乱语,因为试图获得相同的记录将再次给出相同的结果。
如果您对如何转换此信息有任何建议,请告诉我们。我尝试了以下功能,但我不是解码专家所以只有黑暗中的镜头:
gzdeflate($result)
utf8_decode($result)
iconv("UTF-8", "UTF-8//IGNORE", $result)
base64_decode($result)
iconv(mb_detect_encoding($result, mb_detect_order(), true), "UTF-8", $result)
答案 0 :(得分:1)
BareNakedCoder建议查看响应头并且答案就在那里:显然,即使在我的脚本执行期间,此api的身份验证令牌也会很快到期。请参阅附件中的标题。所以解决方案是每次发生这种情况时重新进行身份验证。
可惜api并不只是在常规XML输出中这样说。
这发生在Exact Online(会计软件)的api中,因此我将其作为关键字添加到原始问题中。