这个假期是不能算充实的,因为林肆的睡眠时间挺多。所以想着在五四青年节,把那套主题给做出来。但是在编写PHP文件过程中,发现预览PHP文件时,相关位置的顶部会出现一行空白,影响了页面的布局。通过谷歌浏览器查看元素,也只是看到两个双引号而已,几经波折后找到原因。
这是由于使用UTF-8编码,在编写或修改代码后都保存为utf-8编码格式。虽然现在几乎所有的文本编辑软件都可以显示并编辑UTF-8编码的文件,但是很遗憾的是其中很多软件的表现并不理想。林肆很少使用专业的编辑软件,在做ASP设计的时候用文本编辑器从来没出现过问题,PHP编辑时出现过的。
原因分析:类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(_0xEF _0xBB _0xBF,即BOM——Byte Order Mark)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。
但PHP在设计时就没有考虑BOM的问题,不会忽略UTF-8编码的文件开头BOM的那三个字符...
解决办法:老实下载个Dreamweaver程序,打开该文件,在"修改"里面,选择"页面属性",选择编码后将"包含Unicode 签名(BOM)"取消,再保存该文件即可。(其他软件恢复方法类似的说)
这个问题困扰我很久,明明程序没问题,代码也没有问题,就是多行空格出来,CSS也无法控制。现在知道原因啦,以后做PHP文件的编辑时候,对于UTF-8的编辑必然要使用高级编辑软件的说。