PHP中使用file_get_contents抓取网页中文乱码问题解决方法

发布时间:2020/05/13 作者:天马行空 阅读(311)

file_get_contents函数是一个非常优秀的php自带本地与远程文件操作函数,它可以让我们轻易的把远程数据直接下载,但我在使用它读取网页时会碰到有些页面是乱码了。

根据网上有朋友介绍说原因可能是服务器开了GZIP压缩。我们可以查看一下原网页浏览器的header头,如下:

图片.png

说明服务端是开启了gzip压缩的,那么我们有什么办法不让他乱码呢?
解决办法比较简单,就是用 curl 代替 file_get_contents 去获取,然后在 curl 配置参数中加一条,代码如下:

curl_setopt($ch, CURLOPT_ENCODING, "gzip,deflate");//解释gzip

这样抓回来的网页就能正常显示了。

关键字php