php curl函数采集网页出现乱码问题解决方法

curl乱码有两个方面的原因一个是因为我们采集页面的php页面编码与远程文档编码不致导致的,另一种可能是页面进入了gzip压缩传输导致的,那么我们要如何解决这些问题呢?

gzip压缩传输导致乱码

今天在采集京东的时候发现返回的数据是乱码,网上说可能和压缩有关,看了一下京东的头信息的确进行gzip加密,好吧,那就解压吧,代码如下:

$return = gzdecode($return); //将return的字符进行解码

另一种解决办法:

curl_setopt($ch, CURLOPT_ENCODING, 'gzip');

页面编码问题,代码如下:

mb_convert_encoding($str, 'utf-8', 'GBK,UTF-8,ASCII');就行了.