• <feff>的问题


    在现网代码和配置文件里面,发现中文出现乱码。一查发现这些文件是因为“编码(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 $'xEFxBBxBF' /path

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

    shell> grep -I -r -l $'xEFxBBxBF' /path | xargs sed -i 's/^xEFxBBxBF//g'

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

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

  • 相关阅读:
    转:线程Thread (1)
    jquery 比较全面的API中文版地址
    IE 出现stack overflow 报错的原因归纳
    转:C#常用的集合类型(ArrayList类、Stack类、Queue类、Hashtable类、Sort)
    转:双向链表dblinklist
    转:stack
    转:queue
    解决获取同胞元素空白节点影响的问题
    取10到100的随机数方法
    进度条
  • 原文地址:https://www.cnblogs.com/cloudstorage/p/3642909.html
Copyright © 2020-2023  润新知