首页 > 其他 > 详细

<feff>的问题

时间:2014-04-04 06:00:37      阅读:786      评论:0      收藏:0      [点我收藏+]

在现网代码和配置文件里面,发现中文出现乱码。一查发现这些文件是因为“编码(Encoding)”为ANSI。

所以一时痛快地用 notepad++ 通过 “格式M” 选择 “转为UTF-8编码格式” ,打包更新代码。

然后悲剧了。web server response 的信息,莫名地少了几位。再用vim打开,就发现响应信息头部多了一串字符:<feff>

 

原来,

有些编辑器,比如M$ Windows的记事本,在创建UTF8编码文件时会在头部添加一个不可见字符。这个字符可以通过vim查看到,而且如果是一个php文件,php4、php5在解析时均会有输出。

原来这个被称作BOM(Byte Order Mark)的不可见字符,是Unicode用来标识内部编码的排列方式的,在UTF-16、UTF-32编码里它是必需的,而在UTF-8里是可选的。因 此,才会出现有的编辑器在文件头部添加添加BOM、而有的语法解析器又不作处理的的混乱情况。

根据w3c里FAQ的建议,解决方法就是,删无赦!

**************************

 http://apps.hi.baidu.com/share/detail/35382688

 

 

BOM的UTF文本文件例子,可以用vi 杜撰几个,相关命令如下:

#设置UTF-8编码
:set fileencoding=utf-8
#添加BOM
:set bomb
#删除BOM
:set nobomb
#查询BOM
:set bomb?

如何检测UTF-8编码中的BOM呢?

shell> grep -I -r -l $‘\xEF\xBB\xBF‘ /path

如何删除UTF-8编码中的BOM呢?

shell> grep -I -r -l $‘\xEF\xBB\xBF‘ /path | xargs sed -i ‘s/^\xEF\xBB\xBF//g‘

 

在选择用 notepad++ 转 utf-8 时,要选择 “转为UTF-8无BOM编码格式

 

http://7567567.blog.51cto.com/706378/641744

<feff>的问题,布布扣,bubuko.com

<feff>的问题

原文:http://www.cnblogs.com/cloudstorage/p/3642909.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!