UTF8 でエンコードされた Web ページにファイルが含まれている場合の、ページの前の空白行の解決方法

UTF8 でエンコードされた Web ページにファイルが含まれている場合の、ページの前の空白行の解決方法
<br />このページはUTF8エンコードを使用しており、ヘッダーとフッターはテンプレートインクルードファイル方式を使用しています。その結果、ヘッダーとフッターに理由もなく10px程度の余分な空白行があり、そこには何も書かれていません。
理由は、すべてのファイルが utf8 でエンコードされているためです。ファイルがインクルードされると、最終的なバイナリ ストリームには複数の UTF8 BOM タグが含まれます。IE は、複数の UTF8 BOM タグを含むページを正常に解析できず、実際に表示される改行に直接置き換えてしまい、空白行になります。Firefox ではこの問題は発生しません。
したがって、テンプレートが複数の utf8 ファイルを含めるためにインクルード方式を使用し、UltraEdit を使用して保存する必要がある場合は、[名前を付けて保存] 機能で BOM 形式なしの utf8 を選択します。
さらに、中国語のページで、HTML のヘッド タグ内の <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> の前にタイトル タグを配置すると、ページは空白になります。
したがって、utf8ページは標準の順序を使用する必要があります
<meta http-equiv=”content-type” content=”text/html; charset=UTF-8″ />
<meta http-equiv=”コンテンツ言語” コンテンツ=”zh-CN” />
<meta name=”ロボット” content=”インデックス、フォロー” />
<meta name=”キーワード” content=”" />
<meta name=”説明” content=”” />
<meta name=”評価” content=”一般” />
<meta name=”著者” コンテンツ=”” />
<meta name=”著作権” content=”" />
<meta name=”ジェネレータ” content=”” />
<タイトル></タイトル>
BOM ヘッダー: \xEF\xBB\xBF。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 を追加するかどうかを制御することはできません。ファイルを保存すると、BOM が一律に追加されます。
2) Editplus: BOM のない UTF-8 でエンコードされたファイルは自動的に認識できません。ファイルを保存するときに UTF-8 形式を選択すると、ファイル ヘッダーに BOM ヘッダーが書き込まれません。
3) UltraEdit: 最も強力な文字エンコード機能を備えています。BOM の有無にかかわらず UTF-8 ファイルを自動的に識別できます (設定可能)。保存時に、設定を通じて BOM を追加するかどうかを選択できます。
(新しく作成したファイルを保存するときは、utf-8 no bom 形式で保存することを選択する必要があることに注意してください)
その後、メモ帳も UTF-8 BOM をより適切にサポートしていることがわかったので、皆さんにもメモ帳の使用をお勧めします。

<<:  ウェブページのメモリ使用量とCPU使用量を削減する方法

>>:  ソースコード分析からTomcatがサーブレットの初期化を呼び出す方法の詳細な説明

推薦する

HTML テーブルタグチュートリアル (17): テーブルタイトルの垂直配置属性 VALIGN

表のキャプションは表の上または下に配置でき、プロパティで調整できます。デフォルトのテーブル タイトル...

JavaScriptのプリミティブ値とラッパーオブジェクトの詳細な紹介

目次序文文章プリミティブ型プリミティブ値ラッパーオブジェクト物体コンストラクタ通常機能(関数)プリミ...

Ubuntu で VIM を C++ 開発エディタとして設定する

1. 設定ファイルをユーザー環境にコピーし、新しい.vimフォルダを作成し、バンドルサブフォルダを作...

HTML4.0 要素のデフォルトスタイルの配置

コードをコピーコードは次のとおりです。 html、アドレス、引用ブロック、本文、dd、div、 dl...

HTML テーブルタグチュートリアル (33): セルの垂直配置属性 VALIGN

垂直方向では、セルの配置を上、中央、下に設定できます。基本的な構文<TD VLIGN=&quo...

一般的なSQL削除ステートメントの原則の違いを理解するだけです

この記事では主に、SQL 削除ステートメント DROP、TRUNCATE、および DELETE の違...

複数人チャットルームを実現する js コード

この記事の例では、多人数チャットルームを実装するためのjsコードの具体的なコードを参考までに共有して...

携帯電話番号の歩数記録を取得するWeChatアプレット

序文最近、小さなプログラムを開発しているときに、このような問題に遭遇しました。ユーザーが認証をクリッ...

JavaScript を使用して div の位置をドラッグして入れ替える例

1 実施原則これは、DOM 要素の dragstart/ondragover/ondrop イベント...

CSSでフレックス配置を表示する(レイアウトツール)

display: flex レイアウトに関しては、深く理解している人もいますし、私も他の人の作業か...

実用的な基本的な Linux sed コマンドのサンプルコード

Linux ストリーム エディターは、データ センターでスクリプトを実行するのに便利な方法です。これ...

Docker コンテナのネットワーク障害に対する 6 つの解決策

Docker コンテナのネットワーク障害に対する 6 つの解決策注: 以下の方法は、コンテナ内のパブ...

MySQLサービスの自動停止の解決策

この記事では主に、MySQL サービスの自動停止の解決策を紹介し、参考と学習のために共有します。一緒...

よく使われるCSSカプセル化方法の概要

1. pc-reset PCスタイルの初期化 /* 正規化.css */ html{ 行の高さ: 1...

MySQL 5.7.16 ZIP パッケージのインストールと設定のチュートリアル

この記事では、MySQL 5.7.16 ZIPパッケージのインストールと設定のチュートリアルを参考ま...