我正在解析一个包含 UTF-8 编码字符的 XML-Feed,如下所示:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<value>Ströng</value>
</root>
解析此文件返回格式错误Ströng
:
$file = file_get_contents($path);
print_r($file);
使用$xml = simplexml_load_file($path);
产生相同的结果。
现在我尝试使用该utf8_encode()
函数来纠正这样的字符编码:
$file = utf8_encode(file_get_contents($path));
print_r($file);
但是现在内容变得更糟了:Ströng
. 这是为什么?
如何正确解析 UTF8 格式的 XML?
更新:
mb_detect_encoding($file)
返回:UTF-8
和utf8_decode()
返回Str?ng
。
到目前为止,一切似乎都是正确的,但事实并非如此?