ホームページ > php教程 > php手册 > PHP 检测字符串的编码是否是UTF-8编码的函数 check

PHP 检测字符串的编码是否是UTF-8编码的函数 check

WBOY
リリース: 2016-06-06 19:49:37
オリジナル
1252 人が閲覧しました

找了一下还以为真的没有,然后自己用 网上说的那种 mb_detect_encoding(),很多是通过了,但是还是有几个测试根本就无法判断成功。 后来我自己终于在官网给出的里面找到了一个函数 check_utf8()。现在备份保留下,希望对大家有帮助。 function check_utf8($s

找了一下还以为真的没有,然后自己用 网上说的那种 mb_detect_encoding(),很多是通过了,但是还是有几个测试根本就无法判断成功。

后来我自己终于在官网给出的里面找到了一个函数 check_utf8()。现在备份保留下,希望对大家有帮助。




  function check_utf8($str)
  {
      $len = strlen($str);
      for($i = 0; $i  128) {
              if (($c > 247)) return false;
              elseif ($c > 239) $bytes = 4;
              elseif ($c > 223) $bytes = 3;
              elseif ($c > 191) $bytes = 2;
              else return false;
              if (($i + $bytes) > $len) return false;
              while ($bytes > 1) {
                  $i++;
                  $b = ord($str[$i]);
                  if ($b  191) return false;
                  $bytes--;
              }
          }
      }
      return true;
  } // end of check_utf8
ログイン後にコピー


PS:结尾的时候穿插一个事情。网上其实流传最广的应该是这个:PHP 检测字符串的编码是否是UTF-8编码的函数 check


因为中国的那些中文网站大部分都是采集站,自动采集然后发布。

真的害怕有一天,错误说的太多了居然可以成为真理,那这可怕。






ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート