DedeCMS用include调用页面出现空白行的解决方法
这个问题是余斗第一次遇到,网上也没有找到解决办法,是自己研究一下,才发现问题所在,并搞定,首先说下问题;
余斗在调用{dede:include filename=”header.htm”/}(网页头部)标签后,在生成的页面中,会出现一行空白,破坏了整个页面的布局,即使如何修改html代码和CSS代码也没有用。
原来导致这个空行是因为,文件最前面插入三个不可见的字符(_0xEF、_0xBB、_0xBF,即BOM——Byte Order Mark)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。由于在PHP中没有考虑BOM的问题,不会忽略UTF-8编码的文件开头BOM的那三个字符,所以把它作为正文的一部分,将会造成在页面上输出这三个字符。显示效果一般是一个空行或是一个乱码。
由于在html一开头有这3个字符的存在,即使页面的top-padding设置为0,也无法让整个网页紧贴浏览器顶部。
解决办法:
在Notepad++编辑器中,将文件转为UTF-8无BOM编码格式或者在在Dreamweaver中点修改->页面属性->标题/编码->把包括 Unicode 签名(BOM)的勾取消。