程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了错误:“输入的UTF-8输入不正确,表示编码!” 使用PHP的simplexml_load_string大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_772_0@如何解决错误:“输入的UTF-8输入不正确,表示编码!” 使用php的simplexml_load_String? 开发过程中遇到错误:“输入的UTF-8输入不正确,表示编码!” 使用php的simplexml_load_String的问题如何解决?下面主要结合日常开发的经验,给出你关于错误:“输入的UTF-8输入不正确,表示编码!” 使用php的simplexml_load_String的解决方法建议,希望对你解决错误:“输入的UTF-8输入不正确,表示编码!” 使用php的simplexml_load_String有所启发或帮助;

您的0xED 0x6E 0x2C 0x20字节对应于ISO-8859-1中的“ín”,因此您的内容似乎在ISO-8859-1中,而不是UTF-8。告诉您的数据提供商并请他们修复它,因为如果它对您不起作用,那么对其他人也可能不起作用。

现在有几种解决方法,只有 时才应使用。其中之一将是使用utf8_encode()。不利之处在于,如果该XML同时包含有效的UTF-8和某些ISO-8859-1,则结果将包含mojibake。或者,您可以尝试使用iconv()或mbString 将字符串从UTF-8转换为UTF-8 ,希望他们会为您解决。(它们不会,但是您至少可以忽略无效字符,以便可以加载XML)

或者,您可以走很长的路,自己验证/修复序列。这将需要一段时间,具体取决于您对UTF-8的熟悉程度。也许有图书馆可以做到这一点,尽管我什么都不知道。

无论哪种方式,都请通知数据提供者他们正在发送无效数据,以便他们可以对其进行修复。

这是部分修复。它绝对不会修复所有问题,但会修复其中的一些问题。希望您能满意为止,直到您的提供者修复他们的东西为止。

function fix_laTin1_mangled_with_utf8_maybe_hopefully_most_of_the_time($str)
{
    return preg_replace_callBACk('#[\\xA1-\\xFF](?![\\x80-\\xBF]{2,})#', 'utf8_encode_callBACk', $str);
}

function utf8_encode_callBACk($m)
{
    return utf8_encode($m[0]);
}
@H_772_0@解决方法

我收到错误消息

parser error : Input is not proper UTF-8,inDicate encoding ! Bytes: 0xED 0x6E 0x2C 0x20

尝试使用simplexml_load_String第三方来源处理XML响应时。原始XML响应确实声明了内容类型:

<?xml version="1.0" encoding="UTF-8"?>

但是,似乎XML并不是真正的UTF-8。XML内容的语言是西班牙语,并且包含类似DublínXML的单词。

我无法让第三方来整理他们的XML。

如何预处理XML并解决编码不兼容的问题?

有没有一种方法可以检测XML文件的正确编码?

大佬总结

以上是大佬教程为你收集整理的错误:“输入的UTF-8输入不正确,表示编码!” 使用PHP的simplexml_load_string全部内容,希望文章能够帮你解决错误:“输入的UTF-8输入不正确,表示编码!” 使用PHP的simplexml_load_string所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。