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

时间:2011-12-08 05:55:23

标签: php text encoding utf-8

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

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

1 个答案:

答案 0 :(得分:0)

根据您从转换的编码,快速简单的utf-8安全字符串,utf8_encode函数是您的朋友,但仅用于iso8859-1编码。此外,你的txt不能是UTF-8,否则你很有可能出现乱码。

有关详细信息,请参阅man page

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

另一方面,如果您需要转换任何其他编码,您可能需要查看incov() function

祝你好运