我正在进行多次返回XML数据的AJAX调用。当我获取数据时,我的成功函数(在JQuery中)尝试将XML转换为JSON(使用插件)。我很快就被提醒为什么我不能假设我将从我的AJAX请求中获取VALID XML - 因为事实证明一些XML响应无效 - 导致JSON转换失败,脚本失败等。 ..
我的问题是:
我是否应该尝试检测并删除这些字符的响应,或者我的编码可能有问题?
任何帮助表示赞赏!如果需要更多信息,请告诉我们!
答案 0 :(得分:5)
如果错误地将其解释为ISO-8859-1,则为UTF-8 byte-order mark。
你无法安全地剥离它,因为它只是一个更大问题的症状。您的内容编码为UTF-8。在某处您将其解码为ISO-8859-1。如果您尝试通过剥离BOM来隐藏问题,那么只要您开始使用非ASCII字符,就只能在线下设置更多问题。事情甚至看起来 sort-of 的唯一原因是因为ASCII是UTF-8和ISO-8859-1的共同子集。
答案 1 :(得分:1)
奇怪的字符是Byte Order Mark,实际上是有效的XML,在大多数情况下,你很可能只是将它们剥离而没有风险。