ホームページ >バックエンド開発 >PHPチュートリアル >UTF-8 ファイルからバイト オーダー マーク (BOM) を削除するにはどうすればよいですか?

UTF-8 ファイルからバイト オーダー マーク (BOM) を削除するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-17 10:28:24941ブラウズ

How to Remove Byte Order Marks (BOMs) from a UTF-8 File?

ファイルの先頭からバイト オーダー マーク (BOM) を削除する方法

問題:

CSS ファイルに  で示される非表示の文字が含まれる問題が発生しました。 PHP による読み取り時に適切な機能が中断されます。ファイルは UTF-8 エンコーディングで保存されますが、文字を手動で削除するのは困難です。

答え:

観察している文字はバイト オーダー マーク ( BOM)。 BOM は、ファイルのバイト順序 (エンディアン) を示す Unicode 文字です。この場合、UTF-8 BOM は、ファイルが UTF-8 エンコーディングを使用していることを示します。

解決策:

  • エディターで BOM を無効にする: ファイルを保存するときに BOM を挿入しないようにエディターを設定します。一部のエディタでは、「BOM」に関連する設定が見つかる場合があります。
  • awk で BOM を削除します: awk コマンドライン ユーティリティを使用して、ファイルから BOM を削除します:
awk 'sub(/^\xEF\xBB\xBF/, "")' input.css > output.css
  • で BOM を処理しますPHP: ファイルの読み取り時に BOM を無視するには、PHP の内部エンコードを UTF-8 に設定します:
<?php
mb_internal_encoding('UTF-8');
// Read and process CSS files
mb_internal_encoding('previous encoding'); // Restore previous encoding
?>

注:

  • ISO-8859-15 エンコーディングは UTF-8 BOM を表すことができないため、その形式でファイルを保存するとデータが生成されます。損失。
  • 行末 (Windows と Linux) は BOM 検出に影響しません。

以上がUTF-8 ファイルからバイト オーダー マーク (BOM) を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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