你采集的页面虽经过转码但是<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
这句是不会变的,浏览器是认为是utf-8的,而内容被你转为了gbk当然乱码了,你把apache的默认编码改为gbk试试
可以用php的搜索替换功能查找utf-8然后替换为gbk

解决方案 »

  1.   


    <?
    $content=file_get_contents('http://bj.ganji.com/jiaoyou5/09032721_424301.htm');
    $content=mb_convert_encoding($content,'gbk','utf-8');
    $content=str_replace('utf-8','gbk',$content);
    echo $content;
    ?>
      

  2.   

    还是一会乱码一会不是,然后我把页面编码和文件编码改成utf-8的,也是这样
    header('Content-Type: text/html;charset=utf8');
    date_default_timezone_set('Asia/Chongqing');//中文
    $content=file_get_contents('http://bj.ganji.com/jiaoyou5/09032721_424301.htm');
    echo $content;exit;
      

  3.   

    还不如这样了$content=file_get_contents('http://bj.ganji.com/jiaoyou5/09032721_424301.htm');
    echo $content;exit;
      

  4.   

    return 不出内容,很是奇怪function getcontent($url)
    {
    $content=file_get_contents($url);
    var_dump(strpos($content,'<html'));
    if(!strpos($content,'<html')) getcontent($url);
    else
    {
    //echo $content;
    return $content;
    }
    }
    $content=getcontent('http://bj.ganji.com/jiaoyou5/09032721_424301.htm');
    echo $content;