在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有所幫助。