ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して、ファイルが UTF-8 エンコードされているかどうかを確認します (Bom を確認してください)_PHP チュートリアル

PHP を使用して、ファイルが UTF-8 エンコードされているかどうかを確認します (Bom を確認してください)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:53:531181ブラウズ

UTF-8でエンコードされたファイルにはBomありとBomなしの2種類があり、Bomありの方は誰でも簡単に処理できますが、Bomなしの方は少し面倒なので判定する関数を書きました。コードは次のとおりです:

//Return 1 は純粋な ASCII を意味します (つまり、すべての文字が 127 以下である)
//Return 2 は UTF8 を意味します
//Return 0 は通常の GB エンコーディングを意味します

関数 TestUtf8($text)
{
if(strlen($text) $lastch = 0;
$BOM = true; 0xBB, 0xBF);
$good = 0;
$notAscii = 0;
for($i if($begin $BOM = ($BOMchs[$begin]==$ch);
続行;

if($begin==4 && $BOM) ブレーク;

if($ch >= 0x80 ) $notAscii++;

if( ($ch&0xC0) == 0x80 )
{
if( ($lastch&0xC0) == 0xC0 )
{
$良い += 1;
}
else if( ($lastch&0x80) == 0 )
{
$悪い += 1;
}
}
else if( ($lastch&0xC0) == 0xC0 )
{
$bad += 1;
}
$lastch = $ch;
if($begin == 4 && $BOM)
{
return 2;
else if($notAscii== 0)
{
return 1;
}
else if ($good >= $bad )
{
return 2;
else
{
return
}




http://www.bkjia.com/PHPjc/364705.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/364705.html

技術記事

UTF-8でエンコードされたファイルにはBomありとBomなしの2種類があり、Bomありは誰でも簡単に処理できますが、Bomなしは少し面倒なので判定する関数を書きました。以下に続きます: //戻る.. .

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。