php生成的html 顶部有一空行的解决办法
php生成的html 顶部有一空行的解决办法,但是生成的编译文件,即1d7c7a527b6335cc7a623305ca940e1findex.tpl.php就没有空行
比较两个HTML源代码一模一样,实在是匪夷所思。。。。
所以上网查找,最终解决了这个棘手的问题,以下 是上网查找到的内容
---------------------------------------------------------------------------------------------
php生成的html meta和link标记在body标签里 浏览器顶部有个空行的解决方法。
1.php中用smarty模板生成的html在浏览器中顶部有一空行.
2.用firedebug发现 meta和link标记在body标签里.
本机上wmap运行没事, 送到远程服务器上是IASP的服务, 会出现上述bug.
看了下源文件, 文本一样的. 但保存时提示编码问题.估计是utf-8问题了.
在网上找了下, 是utf-8 BOM问题.
解决方法: 用UltraEdit32把smarty模板文件即引用的模板文件(如include的header,footer等文件)全另存为无BOM的utf-8文件.
其它补充说明:
页面采用UTF8编码,头部和尾部用了模板包含文档的method,结果头部和尾部无端端各多出一个约10px的空行,什么也没有。
原因是全部采用utf8编码,包含文档的时候,最后的二进制流中包含了多次UTF8 BOM标记,IE不能正常解析包含多个UTF8 BOM 标记的页面,直接替换成实际显示的回车,这样导致一个空行,而firefox却没有这个问题。
故如果模板采用包含的method包含多个utf8文档需要用ultraedit保存时另存为功能 选择utf8 无bom格式保存即可。
另外,如果中文页面在html head标记中将title标记放在<meta http-equiv=”Content-type” Content=”text/html; Charset=UTF-8″ />前面会导致页面空白。
所以utf8页面应该使用标准顺序
<meta http-equiv=”Content-language” Content=”zh-CN” />
<meta name=”robots” Content=”index,follow” />
<meta name=”keywords” Content=”" />
<meta name=”desCription” Content=”" />
<meta name=”rating” Content=”general” />
<meta name=”author” Content=”" />
<meta name=”Copyright” Content=”" />
<meta name=”generator” Content=”" />
<title></title>
BOM头:\xEF\xBB\xBF,PHP脚本4、5尚对BOM无视,所以在解析前直接输出。
对此 w3.org 标准 FAQ 中对此问题有一个专门的描述:
www.w3.org/International/questions/qa-utf8-bom
具体如下:
在UCS 编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE”的char,它的编码是FEFF。而FFFE在UCS中是不存在的char,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 char”ZERO WIDTH NO-BREAK SPACE”。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little- Endian的。因此char”ZERO WIDTH NO-BREAK SPACE”又被称作BOM。
UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。char”ZERO WIDTH NO-BREAK SPACE”的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。
Windows就是使用BOM来标记文本文档的编码方式的操作Systam: WindowsXP Professional , 缺省char集:中文
1) notepad : 可以自动识别出没有带 bom 的 utf-8 编码格式文档,但不可以控制保存文档时是否添加 bom , 如果保存文档,那么会统一添加 bom 。
2)editplus : 不能自动识别出没有 bom 的 utf-8 编码格式文档,文档保存时,选择UTF-8 格式,不会在文档头写上 BOM header.
3) UltraEdit : 对于char编码的功能最为强大, 可以自动识别带 bom 和不带 bom 的 utf-8 文档 (可以配置) ; 保存的时候可以通过配置选择是否添加 bom.
(特别需要注意的是,保存一个新建立的文档时,需要选择另存为 utf-8 no bom 格式)
后来发现 Notepad ++ 也对于 utf-8 bom 支持比较好,推荐大家使用。
==========================================================
最终下载了editplus,重新将缓存文件另存为不带 bom 的 utf-8 文档,问题解决.
php生成的html 顶部有一空行的解决办法的更多相关文章
- 百度编辑器ueditor每次编辑后多一个空行的解决办法
用ueditor进行编辑文章时,每次编辑后文章前面都会多出一个空行. <script id="editor" type="text/plain" styl ...
- eclipse或adt-bundle创建的android项目没有自动生成MainActivity.java和activity_main.xml等文件解决办法
以前我电脑一直以来都是用的eclipse3.7来开发android项目的,创建android项目也能正常生成MainActivity.java和activity_main.xml等文件.后来不知道什么 ...
- JqueryQrcode生成二维码不支持中文的解决办法
JqueryQrcode.js有一个小小的缺点,就是默认不支持中文. 这跟js的机制有关系,jquery-qrcode这个库是采用 charCodeAt() 这个方式进行编码转换的, 而这个方法默认会 ...
- 关于reportng生成的测试报告不按测试执行顺序的解决办法
需要修改TestResultComparator类的源码,源码自己去reportng官网http://reportng.uncommons.org/下载,因为reportng默认是按字母先后顺序进行排 ...
- 使用iTextSharp 解析html生成pdf,xmlworker不支持中文的解决办法
http://www.micmiu.com/opensource/expdoc/itext-xml-worker-cn/ 参考上面的文章,虽然是java的,但是和.net是对应的. 下载 html ...
- python3 写CSV文件多一个空行的解决办法
Python文档中有提到: open('eggs.csv', newline='') 也就是说,打开文件的时候多指定一个参数.Python文档中也有这样的示例: import csvwith open ...
- PHP生成HTML页面顶部出现空白部分(字符?)
参考了:PHP生成HTML页面顶部出现空白部分(#65279字符?)的解决办法 查看拼接两个Html,查看文件格式是否是UTF-8 无Bom,我的内容Html是UTF-8 + Bom.
- eclipse android 不会自动生成R.java文件和包的解决办法
eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法 我的eclipse原来是好好的,什么问题都没有的,结果今天一打开新建一个android程序,发现工程里不会自动 ...
- html页面顶部出现一段空白,检查控制台发现body 下出现字符,原因及解决办法
html页面顶部出现一段空白,检查控制台发现body 下出现字符,原因及解决办法 分析: 原来是页面编码时增加了BOM,此页面后端数据主要是PHP语言,对PHP来讲PHP在设计时 ...
随机推荐
- 数据库中的Schema到底是什么
参考:http://database.guide/what-is-a-database-schema/ 在数据库中,schema(发音 “skee-muh” 或者“skee-mah”,中文叫模式)是数 ...
- DOORS 和Reqtify — 需求管理和需求追溯工具
IBM Rational DOORS 可实现对整个产品的全生命周期需求管理,覆盖从需求.到设计以及测试阶段.是一款具有广泛使用的企业级专业需求管理工具.DOORS 可以将项目开发过程中产生的各级需求和 ...
- 快捷键和功能键、进入DOS命令行的方法、DOS命令讲解、java跨平台原理、JRE和JDK的定义、书写格式
快捷键和功能键A:键盘功能键* a:Tab* b:Shift* c:Ctrl* d:Alt* e:空格 * f:Enter* g:Window* h:上下左右键* i:PrtSc(PrintScree ...
- CentOs 6语言改成中文
1.在root权限下 切换到root下:su - root 查看当前语言环境:locale -a (注意中间有空格) 如果看到 zh_CN.UTF-8(这个是中文简体)说明你的系统支持中文语言: 没 ...
- 【线上监控】日志上报bug处理方式总结
说明:若直接在网站看觉得字体太小,可以下载下来后放大看会更加清晰.不会失真. 目前总结到此,后期有改动,再次补充与总结
- 通用分页jsp页面显示
注:本章内容都是在上一篇文章 通用分页后台显示:https://www.cnblogs.com/ly-0919/p/11058942.html 的基础上进行改进,所以有许多的类都在上一篇, 带来不便 ...
- JsonObject常用转换
我们在平时的开发中,com.alibaba.fastjson.JSONObject是经常会用到的JSON工具包,同样它的转换方法也会经常被我们使用,包括对象转成JSON串,JSON串转成java对象等 ...
- text-transform
text-transform 语法: text-transform:none | capitalize | uppercase | lowercase | 默认值:none 适用于:所有元素 继承性 ...
- 【.Net设计模式系列】工作单元(Unit Of Work)模式 ( 二 )
回顾 在上一篇博客[.Net设计模式系列]仓储(Repository)模式 ( 一 ) 中,通过各位兄台的评论中,可以看出在设计上还有很多的问题,在这里特别感谢 @横竖都溢 @ 浮云飞梦 2位兄台对博 ...
- Educational Codeforces Round 60 D. Magic Gems
易得递推式为f[i]=f[i-1]+f[i-M] 最终答案即为f[N]. 由于N很大,用矩阵快速幂求解. code: #include<bits/stdc++.h> using names ...