V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ivanlw
V2EX  ›  问与答

html保存成utf8无bom乱码?

  •  
  •   ivanlw · 2012-12-12 15:51:40 +08:00 · 4877 次点击
    这是一个创建于 4364 天前的主题,其中的信息可能已经有所发展或是发生改变。
    特意查了下有/无bom是什么
    http://wenwen.soso.com/z/q118420256.htm

    发现无bom才应该是优先考虑的正常情况,但是用sublime 2存成无bom打开就是乱码,换成有bom就正常了……Mac平台

    是我理解错了吗?
    9 条回复    1970-01-01 08:00:00 +08:00
    vampirekiss
        1
    vampirekiss  
       2012-12-12 16:02:27 +08:00
    我的 sublime 2 默认就是 utf-8 without bom 。 也没乱码. Mac平台
    timonwong
        2
    timonwong  
       2012-12-12 16:04:56 +08:00
    HTML5:
    meta charset="UTF-8"


    meta http-equiv="Content-Type" content="text/html; charset=utf-8"
    lianghai
        3
    lianghai  
       2012-12-12 16:16:56 +08:00
    你肯定搞错了些什么。
    zythum
        4
    zythum  
       2012-12-12 16:21:32 +08:00
    utf-8无bom
    有bom页面会出各种问题。
    ivanlw
        5
    ivanlw  
    OP
       2012-12-12 17:54:33 +08:00
    @timonwong 是要指定这句存成无bom才会生效么
    timonwong
        6
    timonwong  
       2012-12-12 18:09:27 +08:00
    @ivanlw
    HTML不能有BOM,UTF8 with BOM会多出3个BOM字节,可能会造成解析问题:
    http://www.w3.org/International/questions/qa-utf8-bom.en

    charset要显式声明,这个要么在服务器上做(HTTP协议的Content-Type头),要么就在页面中做(一般在页面中做,避免有HTML是其它charset的情况)。

    否则的话浏览器会猜测页面编码(或者直接使用系统当前代码页),造成的结果是不可预料的。
    90blog
        7
    90blog  
       2012-12-12 18:29:52 +08:00
    php会默认输出BOM这三个字符,导致乱码,所以php必须保存成无BOM
    http://www.90blog.org/archives/1504.html
    honk
        8
    honk  
       2012-12-12 18:33:06 +08:00
    ivanlw
        9
    ivanlw  
    OP
       2012-12-17 13:10:41 +08:00
    @timonwong
    嗯~自己做了最后的测试……
    1.包含<meta http-equiv="content-type" content="text/html; charset=UTF-8" />的文件,无论存成有bom无bom,现实中文都正常
    2.不包含charset声明的,存成无bom居然是乱码,存成有bom才会是正常的中文……

    第一点是按照您说的、正确的,肯定没问题了;但是第二点实在是太奇葩了……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1806 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 16:30 · PVG 00:30 · LAX 08:30 · JFK 11:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.