Rumah > pembangunan bahagian belakang > tutorial php > php检测字符串编码是否为utf8编码的5种方法

php检测字符串编码是否为utf8编码的5种方法

WBOY
Lepaskan: 2016-07-25 08:57:45
asal
2365 orang telah melayarinya
  1. function mb_is_utf8($string)
  2. {
  3. return mb_detect_encoding($string, 'UTF-8') === 'UTF-8';//新发现
  4. }
复制代码

方法二:

  1. function preg_is_utf8($string)
  2. {
  3. return preg_match('/^.*$/u', $string) > 0;//preg_match('/^./u', $string)
  4. }
复制代码

方法三:

  1. function is_utf8_1($str)
  2. {
  3. $c=0; $b=0;
  4. $bits=0;
  5. $len=strlen($str);
  6. for($i=0; $i $c=ord($str[$i]);
  7. if($c > 128){ // bbs.it-home.org
  8. if(($c >= 254)) return false;
  9. elseif($c >= 252) $bits=6;
  10. elseif($c >= 248) $bits=5;
  11. elseif($c >= 240) $bits=4;
  12. elseif($c >= 224) $bits=3;
  13. elseif($c >= 192) $bits=2;
  14. else return false;
  15. if(($i+$bits) > $len) return false;
  16. while($bits > 1){
  17. $i++;
  18. $b=ord($str[$i]);
  19. if($b 191) return false;
  20. $bits--;
  21. }
  22. }
  23. }
  24. return true;
  25. }
复制代码

方法四:

  1. function is_utf8_2($string) {
  2. // From http://w3.org/International/questions/qa-forms-utf-8.html
  3. return preg_match('%^(?:
  4. [\x09\x0A\x0D\x20-\x7E] # ASCII
  5. | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
  6. | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
  7. | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
  8. | \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
  9. | \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
  10. | [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
  11. | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
  12. )*$%xs', $string);
  13. } // function is_utf8
复制代码

方法五:

  1. function isUTF8($string)
  2. {
  3. return (utf8_encode(utf8_decode($string)) == $string);
  4. }
复制代码


sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan