时间:2021-05-18
在编写PHP文件过程中,发现在浏览器预览PHP文件时,顶部会出现一行空白,影响了页面的布局。
关于BOM header的解释如下:
通常情况下,使用Windows系统自带的记事本程序编写网页程序,但在编写或修改php博客系统代码后,进行调试时总是会出现如同以下几点问题:
–不能登入或者不能登出;
–页顶出现一条空白;
–页顶出现错误警告;
–其它不正常的情况。
分析原因:
由于使用UTF-8编码,在编写或修改代码后都保存为utf-8编码格式。虽然现在几乎所有的文本编辑软件都可以显示并编辑UTF-8编码的文件,但是很遗憾的是其中很多软件的表现并不理想。
类 似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(_0xEF _0xBB _0xBF,即BOM——Byte Order Mark)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于 PHP来说,PHP在设计时就没有考虑BOM的问题,不会忽略UTF-8编码的文件开头BOM的那三个字符,会把BOM作为该文件开头正文的一部分。由于必须在<?或者<?php后面的代码才会作为PHP代码执行,所以将会造成在页面上输出这三个字符,显示效果就要看浏览器了,一般是一个空行或是一个乱码。由于在html一开头有这3个字符的存在,即使页面的 top padding 设置为0,也无法让整个网页紧贴浏览器顶部。由于受COOKIE送出机制的限制,在这些文件开头已经有BOM的文件中,COOKIE无法送出(因为在 COOKIE送出前PHP已经送出了文件头),所以登入和登出功能失效。一切依赖COOKIE、SESSION实现的功能全部无效。
解决办法:
在编辑、更改任何文本文件时,请务必使用不会乱加BOM的编辑器。Linux下的编辑器应该都没有这个问题。WINDOWS下,请勿使用记事本等编辑器。推荐的编辑器是:
Editplus 2.12版本以上;
EmEditor;
UltraEdit(需要取消‘添加BOM'的相关选项);
Dreamweaver(需要取消‘添加BOM'的相关选项);
Notepad(需要进行“转换为不带BOM的UTF-8”)等。
对于已经添加了BOM的文件,要取消的话,可以用以上编辑器另存一次。(Editplus需要先另存为gb,再另存为UTF-8。Dreamweaver在”页面属性“的 “包含Unicode 签名(BOM)”取消即可)
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
UC浏览器字体重叠原因及解决办法 1、可能是当前应用出现错误,建议卸载后重装UC浏览器。 2、可能是应用版本过于陈旧,请升级UC浏览器至最新版本。 3
oa添加附件没反应的原因与解决办法: 1、OA系统没有安装相应的上传文件的插件。解决办法:下载相应的插件即可。 2、IE浏览器上传附件的路径没有启用。如果I
海鹦浏览器无法访问网络的原因及解决办法: 1、网络信号不好,可以切换一下网络。 2、浏览器出问题了,可以更换一个兼容性能较好的浏览器。 3、软件本身出问题
adblock屏蔽了解决办法是把浏览器自带的广告拦截功能中的过滤页面广告这个选项的勾取消掉。路径:设置中找到广告拦截选择拦截模式,UC浏览器的解决办法其他浏览器
1IIS服务器出现500错误2错误原因:500错误的原因一般是源程序出现错误造成的。3解决办法:1首先设置IE浏览器à工具->Internet选项2刷新或者重新