ホームページ > バックエンド開発 > PHPチュートリアル > PHP_PHP チュートリアルにおける UTF-8 BOM の影響

PHP_PHP チュートリアルにおける UTF-8 BOM の影響

WBOY
リリース: 2016-07-13 10:27:28
オリジナル
813 人が閲覧しました

今日notepad++でコードを書いていたところ、フレームセットのフレームテンプレートを読み込んだ後、ページにページが表示されず、ソースコードを確認したところ、正常でした。次に、中身をすべて削除し、いくつかのテスト単語を書き込むだけで、正常に表示されました。

長い間苦労した結果、2 つのコントロール テンプレートを含む PHP ファイルが異なっていることがわかり、1 つは BOM なしの UTF-8 形式でエンコードされており、もう 1 つは UTF-8 形式でエンコードされていました。 -8 形式 UTF-8 BOM フリー形式になりました。次に保存してFirefoxを開くと、先ほどは表示されていなかったフレームセットテンプレートが実際に表示されます。次に、Chrome で試してみましたが、やはり表示されませんでした。次に、BOM フリー形式に変換されていない PHP ファイルがあるかどうかを考えました。確認後、すべての UTF-8 ファイルを UTF-8 BOM フリー形式に変更して保存すると、Chrome で正常に表示されるようになりました。ようやく安堵のため息がついた。

私はこれまで、UTF-8 および UTF-8 BOM フリー形式についてあまり注意を払っていませんでした。そこで、Baidu で両者の違いを調べてみました。おおよそ以下の通りです

UTF-8 でエンコードされたファイルは、BOM なしと BOM の 2 つの形式に分けることができます。

BOMとは何ですか? 「EF BB BF」 この3バイトをBOMと呼び、BOMの正式名称は「Byte Order Mard」です。 BOM は通常、ファイルが UTF-8 ファイルであることを示すために UTF-8 ファイルで使用されます。BOM の本来の意味は、UTF16 の上位および下位バイト シーケンスを表すために使用されます。バイト ストリームの前に BOM があります。これは、下位バイト シーケンスが使用される (下位バイトが前にある) ことを意味し、utf8 はバイト シーケンスを考慮する必要がないため、実際には、BOM があるかどうかは問題ではありません。 BOMかどうか。 UTF-8 はエンコード単位としてバイトを使用するため、エンディアンの問題はありません。 UTF-16 は、エンコード単位として 2 バイトを使用します。UTF-16 テキストを解釈する前に、まず各エンコード単位のバイト順序を理解する必要があります。たとえば、受信した「Kui」の Unicode エンコードは 594E で、「B」の Unicode エンコードは 4E59 です。 UTF-16 バイトストリーム「594E」を受信した場合、これは「Ku」ですか、「B」ですか?

ファイルを保存するときに BOM の使用を選択した場合、ページは正しく表示されません。 一般に、php は BOM をサポートしていません。php ファイルは UTF-8 BOM フリータイプとして保存する必要があります

そのため、UTF8 でエンコードされた PHP ファイルを保存するときは、BOM を使用しないでください。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/819539.html技術記事今日、notepad++でコードを書いていたところ、フレームセットのフレームテンプレートを読み込んだ後、ページに表示されなくなり、ソースコードを確認したところ、正常でした。その後、中身をすべて削除して、好きなものを書きました...
関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート