欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

请教curl采集ebay乱码怎样解决?

程序员文章站 2022-05-08 10:18:04
...
各位朋友,我现在使用curl采集信息,发现采集ebay店铺信息时老是显示为乱码,比如:

$url="http://stores.ebay.com/sportingamerica/";
$caiji=curl_get_contents($url);
print_r($caiji);
哪位朋友能否解释下?谢谢!

function curl_get_contents($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
//curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);
curl_setopt($ch, CURLOPT_REFERER,_REFERER_);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$r = curl_exec($ch);
curl_close($ch);
return $r;
}

编码应该没有问题,我的php文件编码是utf-8,ebay的页面编码也是utf-8的啊。


回复讨论(解决方案)

数据被 gzip 压缩了

设置这个 curl_setopt($ch, CURLOPT_ENCODING, 1);
或读回后 echo gzdecode($caiji);

你可以设置获取后的返回代码编码格式为text/utf8格式,这样看看可不可以。