作者:H小气淘淘_238 | 来源:互联网 | 2023-02-10 18:23
php教程|php手册PHP,抓取,中文乱码,解决方法,php教程-php手册PHP中使用file_get_contents抓取网页中文乱码问题解决方法,网站源码加密授权中心,ub
php教程|php手册
PHP,抓取,中文乱码,解决方法,
php教程-php手册
PHP中使用file_get_contents抓取网页中文乱码问题解决方法,网站源码加密授权中心,ubuntu17 速度,tomcat在本机启动失败,爬虫晒灯,php中导航条,seo教程自学网seo博客lzw
本文实例讲述了PHP中使用file_get_contents抓取网页中文乱码问题解决方法。分享给大家供大家参考。具体方法如下:
订餐系统易语言源码,vscode盒子居中,ubuntu 关闭防火墙,tomcat的版本,sqlite 不存在,中国优秀微信营销系统网页设计,update数据库,服务器域名绑定,输入框插件,cms前端框架,邮箱爬虫,php写文件,蚌埠seo,springboot简易服务器,网站的标签,免费网站模板 优帮云,asp 网页内容,教育类模板,后台界面 psd,wordpress 页面排版,java 学生信息管理系统,易语言主程序皮肤lzw
file_get_contents函数本来就是一个非常优秀的php自带本地与远程文件操作函数,它可以让我们不花吹挥之力把远程数据直接下载,但我在使用它读取网页时会碰到有些页面是乱码了,这里就来给各位总结具体的解决办法.
htk vc源码下载,vscode远程真机调试,ubuntu 时区修改,tomcat删除版本信息,搜狐宠物爬虫,php输出word,荆门低成本seo推广公司,微网站管理系统源码下载,推券客cms模板标签lzw
根据网上有朋友介绍说原因可能是服务器开了GZIP压缩,下面是用firebug查看我的网站的头信息,Gzip是开了的,请求头信息原始头信息,代码如下:
代码如下:
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Connection keep-alive
COOKIE __utma=225240837.787252530.1317310581.1335406161.1335411401.1537; __utmz=225240837.1326850415.887.3.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=%E4%BB%BB%E4%BD%95%E9%A1%B9%E7%9B%AE%E9%83%BD%E4%B8%8D%E4%BC%9A%E9%82%A3%E4%B9%88%E7%AE%80%E5%8D%95%20site%3Awww.nowamagic.net; PHPSESSID=888mj4425p8s0m7s0frre3ovc7; __utmc=225240837; __utmb=225240837.1.10.1335411401
Host www.liuzhongwei.com
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0
可以从header信息中找到 Content-Encoding 项是 Gzip.
解决办法比较简单,就是用 curl 代替 file_get_contents 去获取,然后在 curl 配置参数中加一条,代码如下:
代码如下:
curl_setopt($ch, CURLOPT_ENCODING, “gzip”);
今天用 file_get_contents 抓图片的时候,开始没发现这个问题,废了老大劲才找出来.
使用自带的zlib库,如果服务器已经装了zlib库,用下面的代码可以轻易解决乱码问题,代码如下:
代码如下:
$data = file_get_contents(“compress.zlib://”.$url);