|
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);
}
準確率基本和mb_detect_encoding一樣,要對一起對,要錯一起錯。
編碼檢測不可能100%準確,這個東西已經可以基本滿足要求了。
php技術:php下檢測字符串是否是utf8編碼的代碼,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。