PHP中检测文件是否为UTF-8编码的函数

WBOY
Freigeben: 2016-07-28 08:25:47
Original
1085 Leute haben es durchsucht
// 
// 测试文本是否是utf8编码
// 
// 返回值:
//   1 - 有BOM头的内容
//   2 - 纯utf8的内容
//   3 - 较可能是utf8的内容
//   4 - 较不可能是utf8的内容
// 
function utf8_check($text)
{
  $utf8_bom = chr(0xEF).chr(0xBB).chr(0xBF);
  
  // BOM头检查
  if (strstr($text, $utf8_bom) === 0)
    return 1;
  
  $text_len = strlen($text);
  
  // UTF-8是一种变长字节编码方式。对于某一个字符的UTF-8编码,如果只有一个字节则其最高二进制位为0;
  // 如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的位数,其余各字节均以10开头。
  // UTF-8最多可用到6个字节。
  //
  // 如表:
  //  0) {
      $c = ord($text[$i]);
      $c = ($c >> 6)  $bad)
    return 3;
  else
    return 4;
}
Nach dem Login kopieren

以上就介绍了 PHP中检测文件是否为UTF-8编码的函数,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage