PHP mb_convert_encoding 獲取字符串編碼類型實(shí)現(xiàn)代碼
更新時(shí)間:2009年04月26日 01:03:59 作者:
mb_convert_encoding函數(shù)就是那個(gè)可以自動(dòng)識(shí)別原字符串編碼的函數(shù),但在使用中,發(fā)現(xiàn)GBK中的某些漢字被它轉(zhuǎn)成了亂碼。
后來(lái)又在手冊(cè)上找到了is_utf8函數(shù),這樣,再結(jié)合iconv函數(shù),我的問(wèn)題就解決了。下面帖出這個(gè)函數(shù):
function is_utf8($string) {
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 is_utf8
如果想深入研究,建議看下PHP手冊(cè)上的“Multibyte String Functions”這一部分的內(nèi)容。
復(fù)制代碼 代碼如下:
function is_utf8($string) {
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 is_utf8
如果想深入研究,建議看下PHP手冊(cè)上的“Multibyte String Functions”這一部分的內(nèi)容。
相關(guān)文章
php實(shí)時(shí)倒計(jì)時(shí)功能實(shí)現(xiàn)方法詳解
這篇文章主要介紹了php實(shí)時(shí)倒計(jì)時(shí)功能實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了php結(jié)合前臺(tái)JS的時(shí)間戳操作實(shí)現(xiàn)倒計(jì)時(shí)功能的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-02-02
php中g(shù)et_cfg_var()和ini_get()的用法及區(qū)別
這篇文章主要介紹了php中g(shù)et_cfg_var()和ini_get()的用法及區(qū)別,實(shí)例分析了get_cfg_var()和ini_get()函數(shù)的區(qū)別與使用技巧,需要的朋友可以參考下2015-03-03
在PHP程序中運(yùn)行Python腳本(接收數(shù)據(jù)及傳參)的方法詳解
這篇文章主要為大家詳細(xì)介紹一下,如何在php程序中運(yùn)行Python腳本以及如何使用python返回josn數(shù)據(jù)供php使用,感興趣的小伙伴可以了解一下2022-09-09
從康盛產(chǎn)品(discuz)提取出來(lái)的模板類
從康盛產(chǎn)品(discuz)提取出來(lái)的模板類,學(xué)習(xí)php的朋友可以參考下。2011-06-06
phpmyadmin提示The mbstring extension is missing的解決方法
這篇文章主要介紹了phpmyadmin提示The mbstring extension is missing的解決方法,分析了錯(cuò)誤提示的原因與不同平臺(tái)的解決方法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
簡(jiǎn)單介紹win7下搭建apache+php+mysql開(kāi)發(fā)環(huán)境
這里給大家介紹的是Win7下搭建“PHP+Apache+MySql”網(wǎng)站運(yùn)行環(huán)境詳細(xì)方法步驟,十分的細(xì)致全面,有需要的小伙伴可以參考下。2015-08-08
PHP使用PhpSpreadsheet操作Excel實(shí)例詳解
這篇文章主要介紹了PHP使用PhpSpreadsheet操作Excel,結(jié)合實(shí)例形式詳細(xì)分析了PHP使用PhpSpreadsheet操作Excel的相關(guān)組件下載、函數(shù)功能與操作技巧,需要的朋友可以參考下2020-03-03

