上善若水

编码”标签下的文章

2008年10月30日

关于 UTF-8 的 BOM 问题

文章归类于:WordPress

最近又经常看到有询问 WordPress 在安装时候或者启用插件时遭遇错误的情况,很久很久以前我也遇到过类似的情况,在激活某个插件之后,整个页面瞬间就白了……其实这些都是某些文件在保存为 UTF-8 格式时候没有注意 BOM 的问题,根本解决方法就是不要使用太落后的编辑器,一般使用 Windows 自带的弱智记事本程序编辑的 PHP 文件基本都会自动加上 BOM 这东西,若是想在本地编辑 PHP 文件,还是建议使用先进点的编辑器,像是 EditPlus 之类的就行。昨天又有朋友询问这方面的问题,于是重新找了下资料,还是有一点收获的
Unicode 规范中有一个 BOM 的概念:Byte Order Mark,即字节序标记。英语好的朋友可以到官方去看下说明书,看不懂的话可以参考以下内容:
在 UCS 编码中有一个叫做“ZERO WIDTH NO-BREAK SPACE”的字符,它的编码是 FEFF。而 FFFE 在 UCS 中是不存在的字符,所以不应该出现在实际传输中。UCS 规范建议我们在传输字节流前,先传输字符“ZERO WIDTH NO-BREAK SPACE”,这样如果接收者收到 FEFF,就表明这个字节流是 Big-Endian 的;如果收到 FFFE,就表明这个字节流是 Little- Endian 的。因此字符“ZERO WIDTH NO-BREAK SPACE”又被称作 BOM。
UTF-8 不需要 BOM 来表明字节顺序,但可以用 BOM 来表明编码方式。字符“ZERO WIDTH [...]

标签: | |


谷歌赞助

阿里赞助