ホームページ > バックエンド開発 > PHPチュートリアル > PHP チュートリアル: Web ページ UTF8 エンコーディングの空白の問題 開発_PHP チュートリアル

PHP チュートリアル: Web ページ UTF8 エンコーディングの空白の問題 開発_PHP チュートリアル

WBOY
リリース: 2016-07-21 14:56:49
オリジナル
722 人が閲覧しました

開発中に一度も解決できなかった問題
ページはUTF8でエンコードされており、先頭と末尾にテンプレートインクルードファイル方式を採用しているため、先頭と末尾に10px程度の余分な空白行が発生してしまいます。理由もなく尾を引く、そして何もありません。
その理由は、ファイルがインクルードされると、最終的なバイナリ ストリームに複数の UTF8 BOM タグが含まれるため、複数の UTF8 BOM タグを含むページを正常に解析できず、実際に表示される改行に直接置き換えられるためです。空白行が発生しますが、Firefox ではこの問題は発生しません。
そのため、テンプレートが包含メソッドを使用して複数の utf8 ファイルを含み、ultraedit で保存する必要がある場合は、utf8 を選択して BOM 形式なしで保存するだけです。
さらに、中国語ページが html head タグの したがって、utf8 ページは標準順序を使用する必要があります










BOM ヘッダー: xEFxBBxBF、PHP4 および 5 は依然として BOM を無視するため、解析する前に直接出力されます。
この問題については、w3.org の標準 FAQ に専用の説明があります:

http://www.w3.org/International/questions/qa-utf8-bom

詳細は以下の通りです

UCSエンコーディングには「ZERO WIDTH NO-BREAK SPACE」という文字があり、そのエンコーディングはFEFFです。 FFFE は UCS には存在しない文字ですので、実際の送信では出現しないはずです。 UCS 仕様では、バイト ストリームを送信する前に文字「ZERO WIDTH NO-BREAK SPACE」を送信することを推奨しています。このように、受信機が FEFF を受信した場合は、バイト ストリームがビッグ エンディアンであることを示し、FFFE を受信した場合は、バイト ストリームがリトル エンディアンであることを示します。したがって、「ZERO WIDTH NO-BREAK SPACE」という文字は BOM とも呼ばれます。

UTF-8 はバイト順序を示すために BOM を必要としませんが、BOM を使用してエンコード方式を示すことができます。文字「ZERO WIDTH NO-BREAK SPACE」の UTF-8 エンコーディングは EF BB BF です。したがって、受信側が EF BB BF で始まるバイト ストリームを受信すると、それが UTF-8 でエンコードされていることを認識します。

Windows は、BOM を使用してテキスト ファイルのエンコード方法をマークするオペレーティング システムです: WindowsXP Professional、デフォルトの文字セット: 中国語

1) メモ帳: BOM のない UTF-8 エンコード形式のファイルを自動的に識別できますが、ファイルを保存するときに BOM を追加するかどうかを制御することはできません。

2) editplus: BOM のない UTF-8 エンコード形式のファイルは自動的に認識できません。ファイルを保存するときに UTF-8 形式を選択すると、ファイル ヘッダーに BOM ヘッダーが書き込まれません。

3) UltraEdit: 文字エンコーディングの最も強力な機能で、保存時に BOM ありと BOM なしの utf-8 ファイルを自動的に識別できます。設定を通じて BOM を追加するかどうかを選択できます。

(新しく作成したファイルを保存するときは、utf-8 no bom 形式で保存することを選択する必要があることに注意することが重要です)

後で、Notepad ++ も utf-8 BOM をより適切にサポートしていることを発見したので、皆さんにもそれを使用することをお勧めします。

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

tru​​ehttp://www.bkjia.com/PHPjc/364154.html技術記事開発中に解決されていない問題は、ページが UTF8 でエンコードされており、ヘッダーと末尾がテンプレートに含まれているため、理由もなく先頭と末尾に約 10px の余分な空白行が存在することです。 ...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート