关于网页的一个小问题,页面顶部出现空白

 

 

QQ图片20150519093951
QQ图片20150519093958

 

关于如图这个问题,这次的解决方式是去掉网页中utf-8文件的签名,修改 -> 页面属性(Ctrl+J) -> 标题/编码 -> 取消”包括Unicode签名(BOM)”复选框。

 

以下是转载至:可乐吧 http://www.k68.org/?p=932

问题描述:和同事同时编辑页面,我做功能,他填充内容。通过svn更新时整合后,预览发现顶部多了一行空白。查看firebug查看是“&#65279”,经测试与页面中的代码没有关系。

问题原因:和文件的UTF-8签名有关,不是文件内的代码造成的。可能是由于UTF8编码的页面含有BOM导致, UTF-8的BOM会被解析成空白行。详情: W3C官方关于这个问题的说明:http://www.w3.org/International/questions/qa-UTF-8-bom

解决方法:解决方法是去掉UTF-8文件的签名,EditPlus和Dreamweaver中均有相应的选项。

Dreamweaver中除去BOM的方法:修改 -> 页面属性(Ctrl+J) -> 标题/编码 -> 取消”包括Unicode签名(BOM)”复选框。

EditPlus为例:运行Editplus,点击工具,选择首选项,选中文件,UTF-8标识选择 总是删除签名。

如果模板采用包含的方法包含多个UTF-8文件需要用ultraedit保存时另存为功能,选择UTF-8无bom格式保存即可。

另外,如果中文页面在 html head标记中将title标记放在前面会导致页面空白。所以UTF-8页面应该使用标准顺序。

其他:

UTF-8签名(UTF-8 signature)也叫做BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记。如果多个文件设置了签名,在二进制流中就会包含多个UTF-8签名,而IE是无法识别多个 UTF-8签名的,所以用一个空行来代替,在某些程序处理中还会出现一个类似“诺”的字符。Windows就是使用BOM来标记文本文件的编码方式的。在使用UTF-8对字符进行编码时,windows的记事本保存时会对其内容自动加上BOM。所以windows自带的记事本并不是一款值得依赖的文本编辑器。

参考:

http://blog.98xx.com/zleaf/

http://fubingtest.net/?p=29

上一篇
下一篇