• 技术文章 >php教程 >php手册

    PHP中Unicode的签名问题

    2016-06-13 11:36:03原创367

      被 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)" 选项即可。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:PHP入门教程之If…Else 条件判断语句 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释• php 中文处理函数集合• 优化使用mysql存储session的php代码• 用PHP+MySql编写聊天室
    1/1

    PHP中文网