在计算一个dom的过程中,由于body中有了一个不知道是什么汉字的汉子结果导致如下代码出现如下错误代码:
$dq = new Zend_Dom_Query($body); 
$dq->query("*");原来的body是gb2312编码的,出现的错误是:  [0]=>
  object(LibXMLError)#45 (6) {
    ["level"]=>
    int(3)
    ["code"]=>
    int(6003)
    ["column"]=>
    int(0)
    ["message"]=>
    string(70) "input conversion failed due to input error, bytes 0xCB 0x87 0xCA 0xFB
"
    ["file"]=>
    string(0) ""
    ["line"]=>
    int(0)
  }
错误中0xCB 0x87 0xCA 0xFB是  (藝墅) 两个字  , 我不知道这个帖子提交后这个汉字是否能正确显示 ,反正是百度搜索不了有没有办法替换掉这两个汉字我str_replace了下 , 没成功preg_replace好像也不行。。PS  能在UltraEDIT中能看到。。就是如何在16进制下替换???

解决方案 »

  1.   

    换个编码,那几个错误的字也跟着换成别的数字了如
    $result = iconv("gb2312", "utf-8", $result);
    后,错误是:    ["message"]=>
        string(70) "input conversion failed due to input error, bytes 0xE3 0x80 0x90 0xE9
      

  2.   

    $result = iconv("gb2312", "utf-8", $result);change to $result = iconv("gbk", "utf-8", $result);
      

  3.   

    $str='藝墅';
    $test=iconv('gbk','utf-8',$str);
    echo $test;
      

  4.   

    转成编码形式
    $str = '中华人民共和国';
    $str = mb_convert_encoding($str, "html-entities","utf-8" );//结果:哪一队优先开球