string iconv ( string in_charset, string out_charset, string str )

解决方案 »

  1.   

    <?php$myhtml=file("http://www.baidu.com");
    $myhtml=join('',$myhtml);$doc = new DOMDocument();
    @$doc->loadHTML($myhtml);$tags = $doc->getElementsByTagName('a');foreach ($tags as $tag) 
    {

          $html.='<a href='.$tag->getAttribute('href').'>'.$tag->childNodes->item(0)->nodeValue.'</a><br>';
    }echo $doc->encoding;  //输出 gb2312 ,浏览器却显示乱码!(用gb2312编码的)  改成utf-8编码时显示正常。
    ?>
      

  2.   

    一楼的方法不行,bm_convert_encoding 也不行啊。php/manual 上也没说什么有用的东西好像,倒是有人说是bug。有高手能搞定它啊?
      

  3.   

    将网页的编码改为 gb2312就OK了!!
      

  4.   

    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
      

  5.   

    统一编码嘛如果你的网页的编码是 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    那么采集过来的内容就需要转码:mb_convert_encoding($html,'gb2312','utf-8')如果你的网页的编码是 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    那就不需要转码了,采集过来的内容可以直接显示。
    <?php
    header("Content-type: text/html; charset=utf-8");
    $myhtml=file("http://www.baidu.com");
    $myhtml=join('',$myhtml);$doc = new DOMDocument();
    @$doc->loadHTML($myhtml);$tags = $doc->getElementsByTagName('a');foreach ($tags as $tag) 
    {  $html.='<a href='.$tag->getAttribute('href').'>'.$tag->childNodes->item(0)->nodeValue.'</a><br>';
    }echo $doc->encoding; //输出 gb2312 ,浏览器却显示乱码!(用gb2312编码的) 改成utf-8编码时显示正常。
    ?>
      

  6.   

    header("Content-type: text/html; charset=utf-8");<?php
    header("Content-type: text/html; charset=utf-8");
    $myhtml=file("http://www.baidu.com");
    $myhtml=join('',$myhtml);$doc = new DOMDocument();
    @$doc->loadHTML($myhtml);$tags = $doc->getElementsByTagName('a');foreach ($tags as $tag) 
    {  $html.='<a href='.$tag->getAttribute('href').'>'.$tag->childNodes->item(0)->nodeValue.'</a><br>';
    }echo $doc->encoding; //输出 gb2312 ,浏览器却显示乱码!(用gb2312编码的) 改成utf-8编码时显示正常。
    ?>