最近遇到頁面在chrome瀏覽器下,頂部會出現一條空白的問題。后來知道是bom頭的問題。
1.什么是bom頭?
BOM簽名的意思就是告訴編輯器當前文件采用何種編碼,方便編輯器識別,但是BOM雖然在編輯器中不顯示,但是會產生輸出,就像多了一個空行。 一般的編碼集中並不會出現bom頭,unicode編碼集中會出現。
類似WINDOWS自帶的記事本等軟件,在保存一個以UTF-8編碼的文件時,會在文件開始的地方插入三個不可見的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隱藏的字符,用於讓記事本等編輯器識別這個文件是否以UTF-8編碼。對於一般的文件,這樣並不會產生什么麻煩。但對於 PHP來說,BOM是個大麻煩。
PHP並不會忽略BOM,所以在讀取、包含或者引用這些文件時,會把BOM作為該文件開頭正文的一部分。根據嵌入式語言的特點,這串字符將被直接執行(顯示)出來。由此造成即使頁面的 top padding 設置為0,也
無法讓整個網頁緊貼瀏覽器頂部,因為在html一開頭有這3個字符呢!
參考:http://blog.sina.com.cn/s/blog_6ec912d80101btcl.html
2.解決方法
a . editplus去BOM頭的方法
編輯器調整為UTF8編碼格式后,保存的文件前面會多出一串隱藏的字符(也即是BOM),用於編輯器識別這個文件是否是以UTF8編碼。
運行 Editplus,點擊 工具,選擇 參數設置,選中 文件,默認編碼utf-8.或文件另存為,編碼選擇utf-8.
運行 Editplus,點擊 工具,選擇 參數設置,選中 文件,默認編碼utf-8.或文件另存為,編碼選擇utf-8.
b. Notepad去除bom頭辦法
打開文件后,編碼里選擇utf-8無BOM格式編碼,確定就ok了。
不積跬步無以至千里,加油