2008年7月3日

起因:Python django web框架只能解析UTF-8的中文模板,于是我就建了html文件,用记事本打开,另存为UTF-8的形式。结果奇怪的问题就出现了,css文件布局网页的时候老是达不到预期的效果。

CSS也不太熟悉,一直以为是CSS理解错了,确认没有错后,还是没有改观,察看动态生成的网页的源码,也没有任何问题。打算放弃的时候,侥幸的保存了源码,然后用editplus打开,发现html文件开头多了一个问号(用微软的所有工具打开都没有这个问号)。

最近时间不多,就不罗嗦了:
类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于Python或者PHP来说,BOM就是一个问题了。他们都不会忽略BOM, 然后在html文件的开头就多了那几个字符,editplus解析不了就显示成问号了,然后网页就不符合规范了,CSS的布局就有了问题,然后我就痛苦了。

我的解决办法:
最开始是自己写了个小程序把那串东西去掉了,后来发现原来UltraEdit支持无BOM的形式的保存........

真后悔最开始懒了,没有直接装linux服务器。

发表于 2008-07-03 08:13 lostpencil 阅读(857) | 评论 (2)编辑 收藏