
(虽然不影响使用,但是十分影响美观),那么很有可能是你用了Windows自带的记事本修改了模板文件。
首先引用一段非常专业的话:“BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF。这个标记是可选的,因为UTF8字节没有顺序,所以它可以被用来检测一个字节流是否是UTF-8编码的。微软做这种检测,但有些软件不做这种检测,而把它当作正常字符处理。
微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个字节, windows上面的notepad等程序就是根据这三个字节来确定一个文本文件是ASCII的还是UTF-8的, 然而这个只是微软暗自作的标记, 其它平台上并没有对UTF-8文本文件做个这样的标记。”
可能微软垄断习以为常了,可现在Linux+PHP太普及了,所以之前微软不规范的东西现在就要注意使用了,不然的话,就影响到实际使用。
KingCMS地方门户的UTF-8编码模板是不带BOM的,如果使用记事本编辑过的话,就会带上BOM,影响使用的。
使用Emeditor辨别UTF-8模板是否带BOM:
用Emeditor打开模板文件,查看右下角的标记。

没有签名,则表示是不带BOM。

带有签名,则表示是带BOM。
解决方法也很简单,只要把带有签名的另存为,不带签名的即可:

即是“添加一个Unicode签名(BOM)”不打上勾。
使用Notepad++辨别UTF-8模板是否带BOM:
同样,用Notepad++打开UTF-8模板,看右下角。

如果只是显示UTF-8,就表示带BOM。

如果显示的是ANSI as UTF-8,就表示不带BOM。
Notepad++转换也是非常方便和强大的:

选上“以UTF-8无BOM格式编码”,再保存即可。
使用Dreamweaver辨别UTF-8模板是否带BOM:
用dw打开模板文件之后,选择"修改"菜单,如下图(以dw8为例):


如果“包括Unicode签名(BOM)”就说明是带BOM的,去掉这个打勾,再点击确定,就能转成不带BOM的模板文件了。
本文用了三种常见的编辑工具辨别模板文件是否带BOM,相信能轻松解决KingCMS地方门户网站用记事本编辑后出现白条的问题了。用以上任意一种工具,打开你曾经修改的模板文件,转换成不带BOM的就行了。