|
在php開發(fā)中有時(shí)候會用到轉(zhuǎn)碼函數(shù),比如iconv(),mb_convert_encoding()函數(shù),在用函數(shù)轉(zhuǎn)碼的時(shí)候或者解碼的時(shí)候我們有時(shí)候需要先判斷當(dāng)前字符串編碼類型,不如是否是utf-8編碼,是的話然后進(jìn)行編碼轉(zhuǎn)換等操作。下面是小編整理的目前web開發(fā)中網(wǎng)上使用率比較高的、好的php關(guān)于UTF-8編碼的判斷函數(shù),代碼如下:
function is_utf8($string) //函數(shù)一{// From http://w3.org/International/questions/qa-forms-utf-8.htmlreturn 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) //函數(shù)二{return mb_detect_encoding($string, ‘UTF-8′) === ‘UTF-8′;}
mb_detect_encoding()函數(shù)是php的一個(gè)內(nèi)置函數(shù),用來判斷當(dāng)前字符串編碼類型,此函數(shù)有三個(gè)參數(shù),第一個(gè)參數(shù)是要判斷的字符串,第二個(gè)參數(shù)是比較的字符編碼列表,可以使字符串,也可以是數(shù)組,第三個(gè)參數(shù)是要求。
希望這兩個(gè)函數(shù)對需要的phper有所幫助。
php技術(shù):完美的2個(gè)php檢測字符串是否是utf-8編碼函數(shù)分享,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。