PHP教程:Unicode 签名(BOM)问题

被 WordPress 模板的怪异代码空行折腾半天。

因为 Dansion 师兄的驱使,开始 Dreamweaver 征途。不过很少有人关注到,在 Dreamweaver 中使用 utf-8 编码保存时,默认会有 "Unicode 标准化表单" 和 "包括 Unicode 签名 (BOM)" 两个选项,在页面属性里也可以看到:

如果 "包括 Unicode 签名" 选项被勾选,会产生稀奇古怪的页面渲染问题。

什么是 Unicode 签名 (BOM)?

BOM (Byte Order Mark) 是 UTF 编码方案里用于标识编码的标准标记。位于文本文件开头的 2 到 4 个字节,可将文件标识为 Unicode,还标识后面字节的字节顺序。由于 UTF-8 没有字节顺序,因此可以选择添加 UTF-8 BOM。对于 UTF-16 和 UTF-32,这是必需的。

由于这个 BOM 的存在,PHP 会误认为文本内容已经输出,因此会对页面渲染造成影响。据说 PHP6 中已经修复这个问题。

如何防止 Unicode 签名 (BOM) 对页面渲染的影响?

以 Dreamweaver 为例,保存 utf-8 编码的文档时,不勾选 "包括 Unicode 签名 (BOM)" 选项即可。

时间: 2024-10-30 05:38:19

PHP教程:Unicode 签名(BOM)问题的相关文章

PHP中Unicode的签名问题

被 WordPress 模板的怪异代码空行折腾半天. 因为 Dansion 师兄的驱使,开始 Dreamweaver 征途.不过很少有人关注到,在 Dreamweaver 中使用 utf-8 编码保存时,默认会有 "Unicode 标准化表单" 和 "包括 Unicode 签名 (BOM)" 两个选项,在页面属性里也可以看到: 如果 "包括 Unicode 签名" 选项被勾选,会产生稀奇古怪的页面渲染问题. 什么是 Unicode 签名 (BOM

用dreamweaver将gb2312转utf8编码互相转换的图文教程

  UTF-8是UTF-8编码是一种目前广泛应用于网页的编码,它其实是一种Unicode编码,即致力于把全球所有语言纳入一个统一的编码.前UTF-8已经把几种重要的亚洲语言纳入,包括简繁中文和日韩文字.所以在制作某些网站时,需要使用UTF-8,那么怎么把gb2312编码转换到utf-8编码呢?在dreamweaver里只需要一步即可实现. 找到菜单的修改--页面属性--标题和编码,在编码列表中选择UTF-8后确定即可. Unicode签名bom 问题可以参考下一篇文章 Tag:gb2312转ut

删除uft-8文件bom头信息的方法

如果您在修改任何PHP文件发生: * 不能登入或者不能登出: * 页顶出现一条空白: * 页顶出现错误警告: * 其它不正常的情况. bom文件是怎么产生呢? window编辑器如果保存为utf8文件就会帮你加上BOM头,以告诉其他编辑器以utf8来显示字符 但是在网页上并不需要添加BOM头识别,因为网页上可以使用 head头 指定charset=utf8告诉浏览器用utf8来解释.但是你用window自动的编辑器,编辑,然后有显示在网页上这样就会显示出0xEF 0xBB 0xBF这3个字符.

UTF-8、Unicode 标准化表单、BOM_应用技巧

在"关于Dreamweaver制作UTF-8编码网页的测试 "中提及的疑惑http://www.cnbruce.com/blog/showlog.asp?cat_id=27&log_id=999 "阿韩"朋友一语解惑:即勾选上"包括 Unicode 签名(BOM)" 为详细了解,以下内容摘自帮助文档: 若要设置文档编码,请使用"默认编码"弹出式菜单. "默认编码"指定在创建新页面时要使用的编码,以及

一个 utf-8 网页在 IE6下的BUG

网页 一个 utf-8 网页在 IE6 下的BUG 自己测试的,不一定100%准确,仅供参考. 触发条件:1. title标签里的内容为中文其他双字节字符2. 指定网页编码的 meta 信息在 title 标签的下方,即 <title>中文或其他双字节字符title</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 3. 另存或

php提示”Cannot send session cache limiter

运行PHP页面,提示"Cannot send session cache limiter – headers already sent by()"或者"function session_start()"错误,让人非常头痛.因为这不是第一次遇到了,为了加深印象,把问题原因分析及解决方法详细写下来,分享给大家. 问题分析: 记得第一次遇到这个问题时,谷歌了很多答案,也有很多种解决方法,但出现这个问题大部分最根本的原因是:当在运行session_start();时是不能有

利用photoshop制作非主流个性签名教程(1/3)

利用photoshop教程制作非主流教程个性签名教程,这是一款精美的签名制作教程,如果你正在找photoshop教程签名制作教程就进来看看吧. 1.先打开下图所示的纹理素材,选择菜单:编辑 > 定义图案.然后新建一个450 * 320像素的画布,选择菜单:编辑 > 填充,选择刚才定义的图案. 2.打开下图右邮票齿轮的相框素材,拖进来,用魔术棒工具选择中间的白色和相框外面的白色部分按delete 删除.   3.打开一张人物或卡通素材拖进来,适当调整角度和大小放到相框里面,删除多出部分. 4.打

利用ps给相册添加相框签名教程(1/3)

本教程的签名非常可爱.制作方法也比较简单,选好相框素材及人物以后,利用蒙版等把人物融入到相框里面,再适当配上装饰文字即可. 最终效果 1.打开下图所示的相框和人物素材. .按"v"键,双击相片图层解锁,拖住鼠标左键,把人物素材拖到相框内. 首页 1 2 3 末页

Photoshop打造简洁漂亮的粉色签名图片

  Photoshop打造简洁漂亮的粉色签名图片教程,本教程的签名制作方法非常简洁,不过效果非常甜美.大致过程:先给人物简单的磨皮及润色处理,然后用用蒙版把人物融入设置好的背景中,最后用高光素材叠加等加上高光即可. 先来看原图 最终效果 第一步:打开人物素材,进行简单的磨皮.我重复一下磨皮步骤帮大家温习一下,方法不止一种,按"ctrl+J"键复制一层,修改图层的模式为"滤色",调整不透明度为"70%","ctrl+E"合并两个