php下檢測(cè)字符串是否是utf8編碼的代碼
更新時(shí)間:2008年06月28日 00:18:48 作者:
給一個(gè)字符串,怎么判斷它是什么編碼呢?php有一個(gè)函數(shù):mb_detect_encoding。不過這個(gè)東西需要有mb_string庫,不是到處都能用的。
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);
}
準(zhǔn)確率基本和mb_detect_encoding一樣,要對(duì)一起對(duì),要錯(cuò)一起錯(cuò)。
編碼檢測(cè)不可能100%準(zhǔn)確,這個(gè)東西已經(jīng)可以基本滿足要求了。
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);
}
準(zhǔn)確率基本和mb_detect_encoding一樣,要對(duì)一起對(duì),要錯(cuò)一起錯(cuò)。
編碼檢測(cè)不可能100%準(zhǔn)確,這個(gè)東西已經(jīng)可以基本滿足要求了。
您可能感興趣的文章:
- php實(shí)現(xiàn)HTML實(shí)體編號(hào)與非ASCII字符串相互轉(zhuǎn)換類實(shí)例
- php實(shí)現(xiàn)圖片轉(zhuǎn)換成ASCII碼的方法
- php小技巧之過濾ascii控制字符
- 淺析PHP的ASCII碼轉(zhuǎn)換類
- PHP詳解ASCII碼對(duì)照表與字符轉(zhuǎn)換
- php自動(dòng)獲取字符串編碼函數(shù)mb_detect_encoding
- 解析php獲取字符串的編碼格式的方法(函數(shù))
- PHP安全的URL字符串base64編碼和解碼
- PHP 截取字符串 分別適合GB2312和UTF8編碼情況
- 淺析PHP中的字符串編碼轉(zhuǎn)換(自動(dòng)識(shí)別原編碼)
- php中支持多種編碼的中文字符串截取函數(shù)!
- PHP實(shí)現(xiàn)ASCII碼與字符串相互轉(zhuǎn)換的方法
相關(guān)文章
解決PHP在DOS命令行下卻無法鏈接MySQL的技術(shù)筆記
前段時(shí)間,由于要用 php 進(jìn)行 Shell 編程時(shí),碰到了 PHP 在 WEB 下可以連接 MySQL 而在 DOS COMMAND 命令行下卻連接失敗的問題。2010-12-12PHP項(xiàng)目開發(fā)中最常用的自定義函數(shù)整理
PHP項(xiàng)目開發(fā)中最常用的自定義函數(shù),php開發(fā)中,經(jīng)常需要用到的。其實(shí)很多成熟的cms系統(tǒng)中都有的。2010-12-12php強(qiáng)大的時(shí)間轉(zhuǎn)換函數(shù)strtotime
在php中strtotime() 函數(shù)將任何英文文本的日期時(shí)間描述解析為 Unix 時(shí)間戳,這個(gè)函數(shù)也是我們經(jīng)常會(huì)用到的,有需要的朋友參考一下2016-02-02使用PHP把HTML生成PDF文件的幾個(gè)開源項(xiàng)目介紹
這篇文章主要介紹了使用PHP把HTML生成PDF文件的幾個(gè)開源項(xiàng)目介紹,本文羅列了FPDF、DomPDF、TCPDF等項(xiàng)目的特點(diǎn),需要的朋友可以參考下2014-11-11/etc/php-fpm.d/www.conf 配置注意事項(xiàng)
下面小編就為大家?guī)硪黄?etc/php-fpm.d/www.conf 配置注意事項(xiàng)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02