PHP中Unicode的签名问题
程序员文章站
2022-05-28 23:38:22
...
被 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)" 选项即可。
上一篇: MySQL中的运算符使用实例展示
推荐阅读
-
PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题 - 心中的飞梦
-
如何解决 PHP 第一次连接Oracle非常慢的问题
-
php中过滤html代码的函数 提高程序安全性_PHP
-
php字符转码解决新浪抓取资料乱码的问题
-
PHP中的integer类型使用分析_PHP教程
-
程序员 - PHP时间问题,2014-1-21 和 2013-5-13 请用最有效率的方法计算出两个时间相差的年份和月份??
-
select-MySQL中触发器的创建问题
-
浅析ThinkPHP中execute和query方法的区别_PHP教程
-
用PHP写daemon无法驻留的问题
-
在HTML中利用js调用php的内容-计数器实例_PHP教程