日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

php自動識別文字字符串編碼并轉(zhuǎn)為目標編碼_PHP教程

編輯Tag賺U幣

推薦:phpcms模塊開發(fā)之swfupload的使用介紹
本篇文章介紹了,phpcms模塊開發(fā)之swfupload的使用分析,需要的朋友參考下

在PHP中,我們經(jīng)常要轉(zhuǎn)換一些字符串的編碼,我們大部分時間都是通過iconv或者mb_convert等函數(shù)進行轉(zhuǎn)換.

但是前提是我們要知道需要被轉(zhuǎn)換的字符串的編碼,猜能進行正確的轉(zhuǎn)換。

雖然大多數(shù)轉(zhuǎn)換都是在gbk和utf-8之間轉(zhuǎn),但如果不知道轉(zhuǎn)換對象的原始編碼或者原始編碼不確定怎么辦呢?

谷歌出來一個函數(shù)safeEncoding,可以簡單的識別UTF8和GBK的編碼。

這個函數(shù)在一定程度上識別的很準確,但是在一些比較復雜的環(huán)境中就不是那么的好用了.

下面我結(jié)合了GBK和UTF-8編碼的不同點,使用正則表達式來判斷UTF-8編碼并使用mb_convert_encoding函數(shù)來進行轉(zhuǎn)換.

在國內(nèi),基本上比較流行的編碼就是GBK和UTF-8, 所以這個函數(shù)是針對這兩個編碼進行自動轉(zhuǎn)換的.

  1. /**     
  2. * 來源網(wǎng)址: http://hl5o.cn/* 作者:雪狐博客   
  3. * @ string 需要轉(zhuǎn)換的文字     
  4. * @ encoding 目標編碼     
  5. **/     
  6. function detect_encoding($string,$encoding = 'gbk'){            
  7.  $is_utf8 =  preg_match('%^(?:[\x09\x0A\x0D\x20-\x7E]| [\xC2-\xDF][\x80-\xBF]|  \xE0[\xA0-\xBF][\x80-\xBF] | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}    |  \xED[\x80-\x9F][\x80-\xBF] |  \xF0[\x90-\xBF][\x80-\xBF]{2}  | [\xF1-\xF3][\x80-\xBF]{3}  |  \xF4[\x80-\x8F][\x80-\xBF]{2} )*$%xs'$string);            
  8.  if($is_utf8 && $encoding == 'utf8'){                
  9.    return $string;            
  10.  }elseif($is_utf8){                
  11.    return mb_convert_encoding($string$encoding"UTF-8");                 
  12.  }else{                
  13.    return mb_convert_encoding($string$encoding'gbk,gb2312,big5');              
  14.  }        
  15. }  
  16.   

分享:基于ubuntu下nginx+php+mysql安裝配置的具體操作步驟
本篇文章介紹了,基于ubuntu下nginx+php+mysql安裝配置的具體操作步驟。需要的朋友參考下

來源:xuehuwang.com//所屬分類:PHP教程/更新時間:2013-04-30
相關(guān)PHP教程