Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP中检测文件是否为UTF-8编码的函数

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

WBOY
WBOYasal
2016-07-28 08:25:471088semak imbas
// 
// 测试文本是否是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;
}

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

Kenyataan:
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