国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php自動識別文字字符串編碼并轉為目標編碼

2024-05-04 21:53:29
字體:
來源:轉載
供稿:網友

在PHP中,我們經常要轉換一些字符串的編碼,我們大部分時間都是通過iconv或者mb_convert等函數進行轉換.

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

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

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

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

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

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

  1. /**     
  2. * 來源網址: http://www.CuoXIn.com/* 作者:雪狐博客   
  3. * @ string 需要轉換的文字     
  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.   

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平潭县| 苏尼特左旗| 郴州市| 克山县| 合江县| 韶关市| 金山区| 丰顺县| 射阳县| 石狮市| 双峰县| 大洼县| 遂昌县| 新晃| 华容县| 黑龙江省| 岱山县| 铜梁县| 武乡县| 榆林市| 沂水县| 洛浦县| 宁陵县| 徐汇区| 金堂县| 拜城县| 闽清县| 铁力市| 密山市| 巴马| 巴林左旗| 平阴县| 屏山县| 东海县| 峨眉山市| 金平| 涡阳县| 湖南省| 泗水县| 肃宁县| 海伦市|