在PHP中读取具有错误编码的外部XML文件

时间:2013-09-09 11:17:32

标签: php xml encoding rss

我尝试从这个xml:http://www.leprogres.fr/football/ol/rss做一个file_get_contents(),但是我发现这个xml文件发送了错误的信息。

实际上,当我查看标题响应和xml encoding属性时,都会说UTF-8(我认为它应该类似于ISO-8859-1),但我的file_get_contents()不会按原样返回Feed,例如:

  

Actualitédel'Olympique Lyonnais - live,vidéo,résultataveveleprogres.fr | LeProgrès`

成为:

  

Actualitédel'Olympique Lyonnais - live,vidéo,résultat avec leprogres.fr | LeProgrès`

我越接近预期的结果是使用forceutf8,但它不会转换所有字符,例如此处的破折号以及稍后在xml文档中的撇号将转换为问号。

1 个答案:

答案 0 :(得分:2)

file_get_contents适用于正确的编码,但您可以使用以下替代方法:

header('Content-Type: text/html; charset=utf-8');
$xml = simplexml_load_file("http://www.leprogres.fr/football/ol/rss");

echo $xml->channel->title;

输出

Actualité de l'Olympique Lyonnais – live, vidéo, résultat avec leprogres.fr | Le Progrès