Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中读取编码错误的外部XML文件_Php_Xml_Encoding_Rss - Fatal编程技术网

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

在PHP中读取编码错误的外部XML文件,php,xml,encoding,rss,Php,Xml,Encoding,Rss,我试图从这个xml:中执行一个文件\u get\u contents(),但在我看来,这个xml文件发送了错误的信息 事实上,当我查看头响应和xmlencoding属性时,都会说UTF-8(我认为它应该类似于ISO-8859-1),但我的文件\u get\u contents()并没有像应该的那样返回提要,例如: 里昂奥林匹克奥运会实施方案——现场直播,视频,résultat avec leprogres.fr|Le Progrès` 变成: 里昂奥林匹克奥运会实况转播,视频o,r©sultat

我试图从这个xml:中执行一个
文件\u get\u contents()
,但在我看来,这个xml文件发送了错误的信息

事实上,当我查看头响应和xml
encoding
属性时,都会说
UTF-8
(我认为它应该类似于
ISO-8859-1
),但我的
文件\u get\u contents()
并没有像应该的那样返回提要,例如:

里昂奥林匹克奥运会实施方案——现场直播,视频,résultat avec leprogres.fr|Le Progrès`

变成:

里昂奥林匹克奥运会实况转播,视频o,r©sultat avec leprogres.fr | Le Progr¨s`


我越接近预期的结果是使用,但它不会转换所有字符,例如这里的破折号和xml文档中稍晚一点的撇号会转换为问号。

文件获取内容
对我来说编码正确,但您可以使用如下替代方法:

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

echo $xml->channel->title;
输出
谢谢,你的备选方案很有魅力!我不明白为什么
文件\u get\u contents()
对我不起作用?就像我说的,它对我起作用。但我不知道为什么对你不起作用。我总是使用
simplexml
进行
XML解析
。它太快了,forceutf8不是一个好选择,因为你在使用该库时已经放弃了。它正在寻找一个错误的“解决方案”。而且XML文件实际上是UTF-8编码的,因此
文件获取内容
在这里不是问题。另外,我感觉您的问题中缺少实际的代码,所以请使用-1,因为在这个问题中没有太多用途(以及它的答案)对于以当前形式出现的未来用户:/@hakre它至少对我有用。是的,毫无疑问,但我说的是未来用户。
Actualité de l'Olympique Lyonnais – live, vidéo, résultat avec leprogres.fr | Le Progrès