IT技术博客大学习 共学习 共进步

html页面里的幽灵空行――UTF8Bom

SourceJoy 2011-06-02 13:36:37 浏览 5,306 次

相信很多玩web的朋友都遇到过一种情况,HTML代码里面没有多出的行,带页面显示的时候,莫名其妙多出了一个空格或多余的行,搞半天也无解。怎么回事呢?
下图是出现前面说的情况后用firebug看到的HTML代码。

图1

里面莫名其妙多出了一个空白行,而我们看源代码里面却没有。

这就是utf8的bom在作怪了。说到这估计很多人也会发现,这个问题基本上都是出现在UTF8编码的页面里。

UTF-8 BOM也叫UTF-8 签名,全称Byte Order Mark,字节排序标记?

这玩意对UFT-8没有作用,只是告诉编辑器当前文件采用何种编码,方便编辑器识别,BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行。

这就是出现幽灵空行的原因。
找出原因就好办事了。
把出现空行的文档另存没没有BOM的格式就行了。

下图是ultraedit保存文档时的编码格式:

图2

选择里面的UTF8-无BOM,一切解决!

建议继续学习

  1. UTF-8编码中BOM的检测与删除 (阅读 5,106)
  2. Linux上删除空行的方法 (阅读 3,803)
  3. 让vim不在文件末尾添加空行 (阅读 3,602)
  4. 空行不空格式排版组织原理 (阅读 3,344)