1

我正在尝试解析包含重音符号的 xml 文件,但出现此错误“无法将字符串解析为 XML”。不幸的是,我无法处理 xml 文件,因为它是从外部源下载的,所以我想知道是否有任何简单的方法来修复它。

这是我的代码:

<?php
$requestAddress = "test.xml";

// Gets data
$xml_str = file_get_contents($requestAddress,0);

// Parses XML
$xml = new SimplexmlElement($xml_str);
?>

我环顾四周,但看不到任何问题的解决方案,或者至少我不理解它们!:-)

4

2 回答 2

3

我的猜测是file_get_contents()没有考虑文件的编码。您的重音可能会被视为无效字符并破坏 XML 结构。

用于mb_detect_encoding()检测编码。

用于utf8_encode()将字符转换为 UTF-8。

于 2011-12-06T22:44:37.487 回答
0

确保编码与文档的标题一致(通常是 utf-8)。

如果编码(字符集)不匹配,您可以将文件加载为通用文本文件,然后使用iconv()函数将字符编码转换为正确的编码。

于 2011-12-06T22:46:44.780 回答