(转)PHP自动识别字符集并完成转码
时间:2011-01-30 来源:→province★
       function safeEncoding($string,$outEncoding ='UTF-8')   
      {   
          $encoding = "UTF-8";   
         for($i=0;$i<strlen($string);$i++)   
          {   
               if(ord($string{$i})<128)   
                   continue;   
         
              if((ord($string{$i})&224)==224)   
               {   
                //第一个字节判断通过   
                 $char = $string{++$i};   
                  if((ord($char)&128)==128)   
                 {   
                      //第二个字节判断通过   
                      $char = $string{++$i};   
                      if((ord($char)&128)==128)   
                      {   
                          $encoding = "UTF-8";   
                        break;   
                     }   
                  }   
             }   
             if((ord($string{$i})&192)==192)   
              {   
                  //第一个字节判断通过   
                 $char = $string{++$i};   
                  if((ord($char)&128)==128)   
                  {   
                      // 第二个字节判断通过   
                      $encoding = "GB2312";   
                       break;   
                   }   
              }   
           }   
              
           if(strtoupper($encoding) == strtoupper($outEncoding))   
               return $string;   
           else  
               return iconv($encoding,$outEncoding,$string);   
     }










