php生成的html meta和link标记在body标签里 顶部有个空行


Posted in PHP onMay 18, 2010

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-type” Content=”text/html; Charset=UTF-8″ /> 
<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 支持比较好,推荐大家使用。

PHP 相关文章推荐
文章推荐系统(三)
Oct 09 PHP
require(),include(),require_once()和include_once()的异同
Jan 02 PHP
PHP 5.0对象模型深度探索之类的静态成员
Mar 27 PHP
php对gzip文件或者字符串解压实例参考
Jul 25 PHP
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
Nov 18 PHP
获取PHP警告错误信息的解决方法
Jun 03 PHP
PHP解析html类库simple_html_dom的转码bug
May 22 PHP
php开发中的页面跳转方法总结
Apr 26 PHP
PHP中的静态变量及static静态变量使用详解
Nov 05 PHP
PHP简单字符串过滤方法示例
Sep 04 PHP
PHP 将dataurl转成图片image方法总结
Oct 14 PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 PHP
PHP 工厂模式使用方法
May 18 #PHP
在PHP中使用反射技术的架构插件使用说明
May 18 #PHP
PHP 写文本日志实现代码
May 18 #PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
May 18 #PHP
PHP array_flip() 删除重复数组元素专用函数
May 16 #PHP
mysql下创建字段并设置主键的php代码
May 16 #PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
May 16 #PHP
You might like
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
PHP CodeIgniter框架的工作原理研究
2015/03/30 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
Javascript valueOf 使用方法
2008/12/28 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
js 针对html DOM元素操作等经验累积
2014/03/11 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/27 Javascript
微信小程序实现传参数的几种方法示例
2018/01/10 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
为Python的web框架编写前端模版的教程
2015/04/30 Python
Python数组定义方法
2016/04/13 Python
Python实现的简单计算器功能详解
2018/08/25 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
2018/12/28 Python
python集合的创建、添加及删除操作示例
2019/10/08 Python
python模式 工厂模式原理及实例详解
2020/02/11 Python
python_mask_array的用法
2020/02/18 Python
python实现处理mysql结果输出方式
2020/04/09 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
新闻系毕业生推荐信
2013/11/16 职场文书
领导视察欢迎词
2014/01/15 职场文书
优秀团支部事迹材料
2014/02/08 职场文书
事务机电主管工作职责
2014/02/25 职场文书
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
文案策划求职信
2014/03/18 职场文书
竞选大队委员演讲稿
2014/04/28 职场文书
三好生演讲稿
2014/09/12 职场文书
获奖感言怎么写
2015/07/31 职场文书