最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關于PHP自動判斷字符集并轉碼的詳解

 更新時間:2013年06月26日 10:46:36   作者:  
本篇文章是對PHP自動判斷字符集并轉碼進行了詳細的分析介紹,需要的朋友參考下
原理很簡單,因為gb2312/gbk是中文兩字節(jié),這兩個字節(jié)是有取值范圍的,而utf-8中漢字是三字節(jié),同樣每個字節(jié)也有取值范圍。而英文不 管在何種編碼情況下,都是小于128,只占用一個字節(jié)(全角除外)。
如果是文件形式的編碼檢查,還可以直接check utf-8的BOM信息。話不多說,直接上函數,這個函數是用來對字符串進行檢查和轉碼的。
復制代碼 代碼如下:

<?php
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)   
  {   
     //第一個字節(jié)判斷通過   
       $char = $string{++$i};   
     if((ord($char)&128)==128)   
       {   
             //第二個字節(jié)判斷通過   
           $char = $string{++$i};   
             if((ord($char)&128)==128)   
           {   
                $encoding = "UTF-8";   
                break;   
           }   
         }   
   }   

  if((ord($string{$i})&192)==192)   
       {   
           //第一個字節(jié)判斷通過   
          $char = $string{++$i};   
         if((ord($char)&128)==128)   
           {   
            // 第二個字節(jié)判斷通過   
                $encoding = "GB2312";   
    break;   
   }   
      }   
 }   

 if(strtoupper($encoding) == strtoupper($outEncoding))   
  return $string;   
 else  
        return iconv($encoding,$outEncoding,$string);   
}
?>

您可能感興趣的文章:

相關文章

最新評論

出国| 开平市| 仲巴县| 荥阳市| 浑源县| 镇原县| 长汀县| 临海市| 南靖县| 香河县| 沂南县| 独山县| 塘沽区| 房山区| 台南市| 辽中县| 榆林市| 盐边县| 闽清县| 奎屯市| 巧家县| 莱阳市| 介休市| 施秉县| 铁岭县| 双桥区| 宁国市| 噶尔县| 珲春市| 广宗县| 汝阳县| 眉山市| 怀安县| 资溪县| 天柱县| 泽州县| 海安县| 陆丰市| 邯郸县| 鄂伦春自治旗| 枣强县|