UTF-8 BOM編碼格式文件對SSI的影響


  最近在用SSI(Server Side Includes)加載子模塊的時候發現一個奇怪的現象,加載完成后的網頁老是CSS有問題,被加載模塊渲染后老是有空白部分。下面給出簡單的示例。

  文件a.html的內容如下:

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <style>
 5  *{
 6  margin: 0;
 7  padding: 0;
 8             }
 9  #ah{
10  border: solid 2px red;
11             }
12  #bh{
13  border: solid 2px black;
14             }
15         </style>
16     </head>
17     <body>
18         <h1 id="ah">AH</h1>
19         <!--#include file="b.html"-->
20     </body>
21 </html>

被包含的文件b.html內容如下:

 1 <h1 id="bh">BH</h1> 

最后在IIS上發布,得到的結果如下圖:

  AH和BH中間有空白行,百思不得其解,甚至開始懷疑自己的CSS水平,更甚開始懷疑自己的人生。。。

  最后用Notepad++打開,看了下編碼,震驚了:

  瞬間領悟了,把其保存為無BOM的UTF-8格式,再次訪問頁面的效果如下:

  終於顯示正常了,萬惡的BOM(Byte Order Mark),萬惡的記事本,還在用記事本寫程序的高手們,換個文本編輯器吧:)

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM