`
ytuwlg
  • 浏览: 91159 次
  • 性别: Icon_minigender_1
  • 来自: 威海
社区版块
存档分类
最新评论

utf-8编码include页面空格

    博客分类:
  • XML
阅读更多
2008年01月25日 星期五 03:36 P.M.

在网站页面使用utf-8的情况下,有时候被包含(include)的页面上面显示一行空白,而用记事本打开也开不见任何东西,发生这种情况的原因是由于UTF-8文件的Unicode签名BOM(Byte Order Mark)的问题。

BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF。这个标记是可选的,因为UTF8字节没有顺序,所以它可以被用来检测一个字节流是否是UTF-8编码的。微软做这种检测,但有些软件不做这种检测, 而把它当作正常字符处理。

微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个字节, windows上面的notepad等程序就是根据这三个字节来确定一个文本文件是ASCII的还是UTF-8的, 然而这个只是微软暗自作的标记, 其它平台上并没有对UTF-8文本文件做个这样的标记。

也 就是说一个UTF-8文件可能有BOM,也可能没有BOM,那么怎么区分呢?三种方法。1,用UltraEdit-32打开文件,切换到十六进制编辑模 式,察看文件头部是否有EF BB BF。2,用Dreamweaver打开,察看页面属性,看“包括Unicode签名BOM”前面是否有个勾。3,用Windows的记事本打开,选择 “另存为”,看文件的默认编码是UTF-8还是ANSI,如果是ANSI则不带BOM。

解决方案是凡是被include的文件都保存为ANSI,主文件可以是UTF-8。要想把一个文件去掉 BOM,使用UlterEdit打开, 切换到十六进制编辑模式,把最前面三个字节(就是那该死的 EF BB BF)替换为20,保存(注意关闭保存时自动备份的功能),再切换到默认编辑模式,把最前面的三个空格去掉就可以了。


分享到:
评论
1 楼 ag4444 2009-11-08  
直接一点用uiteredit 打开另存为utf-8 无dom格式就可以了么

相关推荐

    tesseract-3.02.02-win32-lib-include-dirs(源文件).zip

    tesseract-3.02.02-win32-lib-include-dirs(SDK) tesseract-3.02.02-win32-lib-include-dirs(SDK) tesseract-3.02.02-win32-lib-include-dirs(SDK) tesseract-3.02.02-win32-lib-include-dirs(SDK)

    GBK转UTF-8

    GBK与UTF-8互转, 不依赖任何文件, #include "stdio.h

    tesseract-3.02.02-win32-lib-include-dirs

    tesseract-3.02.02-win32-lib-include-dirs

    cxx-clean-include

    源自:https://github.com/cxxclean/cxx-clean-include 上传此资源的原因是github上不方便下载,每次到99%就失败了

    前端开源库-gulp-tag-include

    前端开源库-gulp-tag-includegulp tag include,html页面之间的相互引用

    tesseract-3.02.02-win32-lib-include-dirs.zip

    tesseract-3.02.02-win32-lib-include-dirs.zip win32 SDK

    leptonica-1.68-win32-lib-include-dirs.rar

    leptonica-1.68-win32-lib-include-dirs 头文件和库文件

    前端开源库-markdown-it-include

    前端开源库-markdown-it-include它包括了markdown,markdown it插件,它添加了包括markdown片段文件的功能。

    TSDQQ响应式布局网址导航系统带后台 v20150428 UTF-8版.zip

    3、UTF-8国际编码。本地简易平台测试,可能会有问题,正规微软IIS6环境,没有任何问题。 4、继承TSDQQ网址导航所有优点。 5、上传简单设置即可显示。 6、使用记事本即可编辑,无需顾虑编码问题。     相关...

    EasyAsp2.1UTF-8

    EasyASP是一个方便快速开发ASP的类,其中包含了数据库控制类Easp.db,具有同时对一个或多个数据库进行各类操作、调用MSSQL存储过程及记录集... EasyASP 2.1 UTF-8 更新日志: 新增Easp.Include方法,完美实现了ASP的

    中国IT总舵2009UTF-8版

    中国IT总舵2009UTF-8版 新闻模块/文章模块/动画模块/商城模块/图片模块/下载模块/爱问模块/论坛模块/博客模块 前后台账号密码:admin/admin888 新闻/文章/动画带有自定规则采集模块 除博客/论坛/爱问不能生成静态,...

    TSDQQ响应式布局网址导航系统带后台UTF-8版

    3、UTF-8国际编码。本地简易平台测试,可能会有问题,正规微软IIS6环境,没有任何问题。 4、继承TSDQQ网址导航所有优点。 5、上传简单设置即可显示。 6、使用记事本即可编辑,无需顾虑编码问题。

    mongo-c-driver-1.14.0-x86.rar

    ...\mongo-c-driver\include\libbson-1.0\bson\bson-utf8.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-value.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-version-functions.h ...\mongo-c-driver...

    vue中keep-alive,include的缓存问题

    主要介绍了vue中keep-alive,include的缓存问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    tiny-utf8:支持Unicode(UTF-8)的标准

    因此, std::string所有功能都被相应的基于代码点的UTF-32版本所取代-转换了对引擎盖下UTF-8的每次访问。版本4.3和4.2之间的更改类tiny_utf8::basic_utf8_string已重命名为basic_string ,它更类似于std::string 。...

    example3_unicode_可以显示泰文字符.cpp

    该文档在安装了freetype2.7库以后,还要下载泰文字库,用编译命令 g++ -std=c++11 example3_unicode.cpp -o xinexample -I /usr/lius/freetype/include/freetype2 -lfreetype -lm 编译后,./xinexample ./...

    spdlog-1.12.0-include

    spdlog-1.12.0-include

    orb-slam2-compile-ok-opencv-ok-include-lib

    orb-slam2-compile-ok-opencv-ok-include-lib

    cxx-clean-include原理1

    cxx-clean-include说明洪坤安(wuzili1234@163.com) 2017年1月7日一、原理cxx-clean-include的简要原理是:

Global site tag (gtag.js) - Google Analytics