程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 完美的2個php檢測字符串是否是utf-8編碼函數分享

完美的2個php檢測字符串是否是utf-8編碼函數分享

編輯:PHP綜合

在php開發中有時候會用到轉碼函數,比如iconv(),mb_convert_encoding()函數,在用函數轉碼的時候或者解碼的時候我們有時候需要先判斷當前字符串編碼類型,不如是否是utf-8編碼,是的話然後進行編碼轉換等操作。下面是小編整理的目前web開發中網上使用率比較高的、好的php關於UTF-8編碼的判斷函數,代碼如下:

function is_utf8($string) //函數一
{
// From http://w3.org/International/questions/qa-forms-utf-8.html
return preg_match(‘%^(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$%xs', $string);
}

function mb_is_utf8($string) //函數二
{
return mb_detect_encoding($string, ‘UTF-8′) === ‘UTF-8′;
}

mb_detect_encoding()函數是php的一個內置函數,用來判斷當前字符串編碼類型,此函數有三個參數,第一個參數是要判斷的字符串,第二個參數是比較的字符編碼列表,可以使字符串,也可以是數組,第三個參數是要求。
希望這兩個函數對需要的Phper有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved