Mat*_*uyn 1 php utf-8 character-encoding
检索到css文件的内容:(http://gizmodo.com/assets/stylesheets/app-ecbc6044c59319aab4c2a1e31380ef56.css)
用mb_detect_encoding... 检测编码说UTF-8.
在浏览器中查看该页面,看起来很好(可读),并声明 @charset "UTF-8";
试图输出字符串,得到垃圾.试图将它保存到文件,得到垃圾.
试图将编码转换为ASCII,ISO-8859-1和HTML-ENTITIES.没运气.
这里的任何想法如何确定为什么这个字符串是垃圾,以及如何解决它?
在Content-Encoding你想抓取网页的是gzip.在使用之前,您需要解压缩它.

我只是尝试了以下,它工作正常:
echo gzdecode(file_get_contents($your_url));
Run Code Online (Sandbox Code Playgroud)
$url = 'http://gizmodo.com/assets/stylesheets/app-ecbc6044c59319aab4c2a1e31380ef56.css';
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch,CURLOPT_ENCODING , "gzip");
$data = curl_exec($ch);
curl_close($ch);
echo $data;
Run Code Online (Sandbox Code Playgroud)
重要的是
curl_setopt($ch,CURLOPT_ENCODING , "gzip");
Run Code Online (Sandbox Code Playgroud)