php curl抓取网页指定内容(一个gbk编码中文乱码多种解决方法(1)_光明网(组图))

优采云 发布时间: 2021-09-13 08:19

  php curl抓取网页指定内容(一个gbk编码中文乱码多种解决方法(1)_光明网(组图))

  ----------------------------------------------- ---------- Ta 仅共享内容开始 ---------------------------------- - ----------------------------------

  php抓取gbk编码中文乱码多种解决方法

  我今天在做一个项目,抓取一个gbk编码的页面后出现中文乱码。终于找到了解决办法:

  使用:$content = mb_convert_encoding($content ,'HTML-ENTITIES',"GBK");转码后就好了。

  $url = 'http://www.juming.com/ykj?api_sou=1&tao='.$id.'&ymlx=0&jgpx=0&1=1&meiye='.$pageSize.'&page='.$page;

$content = httpRequest($url);

//$content = mb_convert_encoding($content,'utf-8');  //此方方法 打印后还是乱码

//$content = mb_convert_encoding($content,"utf-8", "GBK");  //此方方法 打印后还是乱码

//$content = mb_convert_encoding($content,'UTF-8','UTF-8,GBK,GB2312,BIG5'); // 此方方法 打印后还是乱码

// 最后用此方法,解决了

$content = mb_convert_encoding($content ,'HTML-ENTITIES',"GBK");

$dom       = new \DOMDocument();

$BDomain   = new BDomain();

//从一个字符串加载HTML

@$dom->loadHTML($content);

$xpath = new \DOMXPath($dom);

  php使用curl获取的文本出现乱码的解决方法

  使用PHP的curl获取远程html文本时出现中文乱码。

  解决代码如下:

  $url = "gongfuma.com";

//获取页面内容

$ch = curl_init();

curl_setopt ($ch, CURLOPT_URL, $url);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,20);

$res = curl_exec($ch);

curl_close($ch);

  $res=mb_convert_encoding($res,'UTF-8','UTF-8,GBK,GB2312,BIG5');

  //使用该函数对结果进行转码

  ----------------------------------------------- ---------- Ta 只分享了这些内容 ---------------------------------- - ----------------------------------

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线