2011-12-08 78 views
1

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

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

回答

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

祝你好运