1. PHP で Smarty テンプレートを使用して生成された HTML には、ブラウザーの上部に空白行があります
2. firedebug を使用して、meta タグと link タグがローカルで正常に動作することを確認します。マシンに送信されますが、IASP のサービスには上記のバグがあります。
ソース ファイルを見ると、テキストは同じですが、おそらく utf-8 の問題が発生します。
オンラインで検索したところ、utf-8 BOM の問題であることがわかりました。
解決策: すべての Smarty テンプレート ファイル (インクルード ヘッダー、フッターなど) を保存します。 ) BOM なしの utf-8 ファイルとして保存します。
その他の補足説明:
このページは UTF8 エンコーディングを使用しており、テンプレートには先頭と末尾にドキュメント メソッドが使用されています。その結果、約 10px の余分な空白行が生じます。頭と尻尾は理由もなく、何もありません。
その理由は、ドキュメントがインクルードされると、最終的なバイナリ ストリームに複数の UTF8 BOM タグが含まれるページを正常に解析できず、実際に表示されるキャリッジ リターンに直接置き換えられるためです。この方法では空白行が発生しますが、Firefox ではこの問題は発生しません。
したがって、テンプレートに含まれているメソッドが使用されており、ultraedit を使用して保存する必要がある複数の utf8 ドキュメントが含まれている場合は、utf8 を選択するだけで、BOM 形式なしで保存できます。
さらに、中国語ページが HTML head タグの
したがって、utf8 ページは標準の順序を使用する必要があります
コードをコピーします コードは次のとおりです。
;meta name=”著者” Content=”” />
> ;
BOM ヘッダー: xEFxBBxBF、PHP スクリプト 4 および 5 は引き続き BOM を無視するため、解析する前に直接出力されます。
この問題については、w3.org 標準 FAQ に特別な説明があります:
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 ありと BOM なしの UTF-8 ドキュメントを自動的に識別できます (設定可能)。保存時に、設定を通じて BOM を追加するかどうかを選択できます。 utf-8 no bom 形式で保存することを選択する必要があります)
その後、Notepad ++ も utf-8 bom をより適切にサポートしていることがわかりました。皆さんにもそれを使用することをお勧めします。
http://www.bkjia.com/PHPjc/321888.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/321888.html
技術記事 1. PHP で Smarty テンプレートを使用して生成された HTML には、ブラウザの上部に空白行があります。 2. firedebug を使用して、Wmap が body タグ内にあることを確認します。ただし、リモートサーバーに送信されます...