深入了解在网页中UTF-8的编码问题
09月 14, 2006 by 花老鼠 · 2 Comments
纠正错误,Google Earth支持BOM和no BOM。这几天在做讨论Google Earth Web服务的时候网友遇到了中文显示的问题,于是我就着手解决这一问题。发现网友对程序里的文件大多是用的ASCII码,而GE的读取是用UTF-8进行的,现在就要做的就是对程序重新UTF-8编码。最初是在家里UTF-8编码的,环境是XP工具用的是editplus。更改后发现没有任何效果,烧制的KML文件还是GB2312编码的,而且一度造成程序不能运行的情况。搞到深夜后没有结果就放弃了。第二天到公司后继续试验,发现成功了,唯一不一样的就是系统是2000的,用的工具是EmEditor。于是仔细对比发现是一个叫BOM的问题,由于Editplus没有这个选项,而EmEditor提供了BOM和no BOM的选项。那我们先来看看这个BOM是什么,
Unicode规范中有一个BOM的概念。BOM——Byte order Mark,就是字节序标记。
下面是来之这里的一段话:
UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。
Windows就是使用BOM来标记文本文件的编码方式的。
目前已经有很多的新版本软件已经支持BOM,但仍然有不少软件还不支持BOM。
由此可见在标准化来临的时候一个好的文本编辑器也是比较重要的,editplus由于不支持BOM的选择而显的不足。而像EmEditor、UE(UltraEdite-32)等软件就显得比Editplus优秀。还有就是我们做网页用的比较多的Dreamweaver,在MX及以前版本就没有BOM选项,新版的才提供这个。所以不少朋友也曾经为此事烦恼过。如今除了Web应用还涉及到了桌面软件和Web互通的问题。下面是EmEditor的BOM选项

搜索过来的,学习了,谢谢。
还真深奥