首页 新闻 赞助 找找看

php之curl抓取gb2312网页显示乱码

0
悬赏园豆:20 [待解决问题]

各位大大,这个问题折腾我一下午了。抓取gb2312格式的网页时显示内容乱码,如果我直接把这个页面的uft-8修改成gb2312再抓取就显示正常,

求:在不修改本页面utf-8编码的情况下如何让抓取的gb2312页面不乱码。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>php之curl抓取gb2312网页显示乱码</title>
    </head>
    <body><?php
$url="http://www.jb51.net/article/27448.htm";
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
//curl_setopt($curl, CURLOPT_HTTPHEADER,array('Accept-Encoding: gzip, deflate'));
//curl_setopt($curl, CURLOPT_ENCODING,'gzip,deflate'); //这个是解释gzip内
//curl_setopt($ch, CURLOPT_ENCODING,'gzip'); //加入gzip解析
//curl_setopt($ch, CURLOPT_ENCODING, ""); //
$resu = curl_exec($ch); 
//释放curl句柄
curl_close($ch);//关闭curl会话
echo $stu;

        ?>    </body>
</html>

 

繁华已逝的主页 繁华已逝 | 菜鸟二级 | 园豆:353
提问于:2015-09-18 18:52
< >
分享
所有回答(2)
0

你把uft-8格式的编码,用gb2312格式抓取,不乱码才怪,不如。。。。保存一个字符,你抓去的时候是。。。还是一个字符吗?

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-09-19 12:24
1

先弄明白为什么会乱码, 
乱码是因为你在 UTF-8的界面上输出你取过的的  GB2313 字符串, 
那么在输出前把取到的 GK2312 字符转换成UTF-8,就OK了

小码蚁·兴 | 园豆:321 (菜鸟二级) | 2015-12-18 11:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册