<?php
ini_set('user_agent', 'Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1');
echo file_get_contents('http://fr.wikipedia.org/wiki/Brazil', false, $context);
//echo file_get_contents('http://fr.wikipedia.org/wiki/Argentina');
//echo file_get_contents('http://fr.wikipedia.org/wiki/France');
维基百科的答案类似于编码问题(我不能发布它,因为StackOverflow发布规则,但如果你运行脚本就可以看到它。)
(等)
这是针对巴西和阿根廷的。但是对于其他页面(如法国),它运作良好。什么事情发生了什么?顺便说一下,这些页面适用于浏览器。
答案 0 :(得分:2)
最后,我发现了问题。我收到了一个gzip压缩HTML。当字符串看起来是二进制时,我解决了使用php函数解压缩HTML的问题。
我虽然cURL会以透明的方式为开发人员处理加密,但我遇到了同样的问题。我认为这可能是维基百科的问题。
答案 1 :(得分:1)
如果你从控制台运行它,请确保它使用UTF-8(在Linux中应该是这样,不确定它是否可以在Windows中使用)。
如果您是从网上获取的,请将header('Content-Type: text/html; charset=UTF-8');
添加到脚本的开头,以通知浏览器正确的编码。