問題描述:
產生這個問題通常是在用UTF-8編碼進行開發。
·IE裡面會發現頁裡多了一行空白,而且排除是CSS的原因。
·firefox的firebug外掛裡看DOM樹,會發現HTML多了一行空白,但是在頁面樣式裡面沒有影響。
·把頁面代碼放在UltraEdit下面的十六進位下面看,會發現在空白產生的地方,會有一個「錚? 」字元,而本來的" < "符號沒了。
要是單一頁面的話,就出現在該頁面的第一個字元位置。
要是出現在你包含文件的話,那就在該包含文件的第一個字元位置。
----------
說明:
這就是utf-8的簽名所導致的問題。
UTF-8簽名(UTF-8 signature)也叫做BOM(Byte Order Mark),是UTF編碼方案裡用來識別編碼的標準標記。如果多個檔案設定了簽名,在二進位流中就會包含多個UTF-8簽名,而IE是無法辨識多個UTF-8簽名的,所以用一個空行來代替,在某些程式處理中還會出現一個類似「錘?」的字元。
W3C 官方的說明:http: //www.w3.org/International/questions/qa-utf8-bom