説明BO Mヘッドと抜き方


BOM: Byte Order Mark

bomヘッドとは何ですか?
UTF-8 BOMはUTF-8署名とも呼ばれていますが、実際にはUTF-8のBOMはUFT-8には役に立たず、UTF-16、UTF-32を支援するために追加されたBOMです.BOM署名の意味は、エディタの現在のファイルがどのような符号化を採用しているかを教え、エディタの識別を容易にすることですが、BOMはエディタに表示されませんが、出力が発生し、空行が1つ増えたようです
utf-8符号化ファイルではBOMがファイルヘッダに3バイトを占有し、このファイルがutf-8符号化に属していることを示すために使用され、現在では多くのソフトウェアでbomヘッダを識別しているが、PHPではbomヘッダを識別できないものもある.これも手帳でutf-8符号化を編集した後に実行するとエラーの原因である.
bomヘッドを取り除く方法は、簡単には次の2つです.
1、editplusでBOMヘッドを取る方法
エディタがUTF 8符号化フォーマットに調整されると、保存されたファイルの前に隠された文字(つまりBOM)の列が多くなり、エディタがこのファイルがUTF 8符号化されているかどうかを識別します.
Editplusを実行し、ツールをクリックし、プリファレンスを選択し、ファイルを選択し、UTF-8 ID選択は常に署名を削除します.
そしてPHPファイルの編集と保存後のPHPファイルはBOMを持たない.
2、ultraedit bomヘッドの除去方法
ファイルを開いて、オプションとして保存した符号化フォーマットで(utf-8 bomヘッダなし)を選択し、OK
どうですか、bomヘッドを外すのは簡単でしょう
さらにutf 8のBOM情報について議論する
BOMとはphpファイル自体の格納方式がBOM付きUTF-8であり、通常ページの中国語文字化けし方式は一般的にこの原因によるものではない.
header("Content-type: text/html; charset=utf-8");
この文はhtml出力ページの符号化方式を制御し、
BOMはWINDOWSで「メモ帳」を用いてUTF-8に格納した場合のみあり、これはWINHEXで開始した2バイトを削除することができる.
dreamweaverではエンコード設定にBOMが付いているかどうかを設定できますが、一般的にphp出力がピクチャ(GDI Stream)でない限り、BOMは問題になりません.
GDI Stream先頭に余分な文字があれば赤フォークとして表示されます.
WINDOWSが持参したメモ帳などのソフトで、UTF-8でエンコードされたファイルを保存すると、ファイルの先頭に3つの見えない文字(0 xEF 0 xBB 0 xBF、BOM)が挿入されます.このファイルがUTF-8で符号化されているかどうかをメモ帳などのエディタに認識させるための隠し文字の列です.一般的なファイルでは、面倒なことはありません.しかし、PHPにとってBOMは大きなトラブルです.
PHPはBOMを無視しないので、これらのファイルを読み取り、含む、または参照する際に、BOMをそのファイルの先頭本文の一部とします.埋め込み言語の特徴に基づいて、この文字列は直接実行(表示)されます.これにより、ページのtop paddingが0に設定されても、htmlの先頭にこの3文字があるので、ブラウザの上部にページ全体を密着させることはできません.
=================================================================================================
Windowsエディタutf 8ファイルとして保存するとBOMヘッダを付けて他のエディタにutf 8で文字を表示するように伝えます
しかし、ウェブページにBOMヘッダ識別を追加する必要はない.ウェブページではheadヘッダ指定charset=utf 8を用いてブラウザにutf 8で説明することができるからである.しかし、Windowsの自動エディタを使って編集し、Webページに表示すると、0 xEF 0 xBB 0 xBFの3文字が表示されます.
このようにウェブページ上で0 xEF 0 xBB 0 xBFを除去する必要があり、editplusを使用してBOMを持たない符号化を選択することができ、このように除去することができる.