完美的2個php檢測字符串是否是utf-8編碼函數分享
在php開發(fā)中有時候會用到轉碼函數,比如iconv(),mb_convert_encoding()函數,在用函數轉碼的時候或者解碼的時候我們有時候需要先判斷當前字符串編碼類型,不如是否是utf-8編碼,是的話然后進行編碼轉換等操作。下面是小編整理的目前web開發(fā)中網上使用率比較高的、好的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有所幫助。
相關文章
Yii2框架實現(xiàn)利用mpdf創(chuàng)建pdf文件功能示例
這篇文章主要介紹了Yii2框架實現(xiàn)利用mpdf創(chuàng)建pdf文件功能,結合實例形式分析了mpdf的下載、安裝及結合Yii2框架創(chuàng)建pdf文件的相關操作技巧,需要的朋友可以參考下2019-02-02php開發(fā)最強大的IDE編輯的phpstorm 2020.2配置Xdebug調試的詳細教程
這篇文章主要介紹了php開發(fā)最強大的IDE編輯的phpstorm 2020.2配置Xdebug調試,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08Laravel框架運行出錯提示RuntimeException No application encryption ke
這篇文章主要介紹了Laravel框架運行出錯提示RuntimeException No application encryption key has been specified.解決方法,涉及Laravel框架相關配置、設置與運行操作技巧,需要的朋友可以參考下2019-04-04分享微信掃碼支付開發(fā)遇到問題及解決方案-附Ecshop微信支付插件
微信掃碼支付在購物商城非常流行,本篇文章給大家分享微信掃碼支付開發(fā)遇到問題及解決方案-附Ecshop微信支付插件,需要的朋友可以參考下2015-08-08