如何将未知/混合编码文件转换为UTF-8


How to convert unknown/mixed encoding file to UTF-8

我正在使用从远程服务检索XML文件,该文件假定为UTF-8,因为标头是<?xml version="1.0" encoding="UTF-8"?>。然而,它的某些部分显然不是UTF-8,因为当我将它加载到PHP的XMLReader扩展中时,它在解析文档的某些部分(看起来像是直接从MS Word复制粘贴的部分)时会抛出某种"非UTF-8"错误。

我正在寻找解决这个错误的想法。是否有一些程序可以用来"修复"任何非uft8编码的文件?PHP解决方案或任何其他解决方案都可以

取决于您从转换的编码,快速简便的utf-8安全字符串,utf8_encode函数是您的朋友,但仅适用于iso8859-1编码。此外,你的文本不能已经是UTF-8,否则你很有可能有乱码的文本。

查看手册页获取更多信息:

// Usage can be as simple as this.
$name = utf8_encode($contact['name']);

另一方面,如果需要从任何其他编码进行转换,则可能需要查看incov()函数。

好运