关于utf-8BOM问题

hhxx
  • 569

clipboard.png

checkDate: function () {
                        var $this = $(this),
                            date = $this.val();
                        $this.siblings('.day-text_zmh2016').html(date === tomorrow ? '明天' : date ===
                        dAfterTomorrow ? '后天' : date === today ? '今天' : '&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp');
                    },
                    
                   

请教为什么会出现乱码呢?页面已经有<META charset=utf-8>的标签了,然后js保存的格式是无BOM utf-8编码,但是在低版本ie下就会出现乱码,我改为有BOM的编码格式就没有问题。在网上找了很久都没有找到原因,希望有知道的高手可以指导一下
另外补充下本人是用的windows,然后转码使用的是notepad++,转为标准utf-8(有BOM)不出现乱码,如果将js存为无BOM就出现乱码了

回复
阅读 3.6k
2 个回答

检查两件事:

  1. 你的html头部有没有加:<meta charset="utf-8">

  2. 检查你的代码文件本身,是否UTF-8编码

关于第二点,如果你使用的是atom编辑器,非常好看,打开文件,看编辑器右下角,有:

图片描述

utf-8的bom头其实就是个签名,用来帮助编辑器等失败和校验utf-8文件,不可能导致你这种问题,我怀疑你保存为utf8 without bom的时候没有成功。
大自然肯定不会出现这种不符合逻辑的事情。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏