特殊字符添加到CSS(A€<)在哪里这是从哪里来的?(Special char added t

2019-09-18 01:26发布

在记事本+ +我是做了一大堆的搜索替换操作,以有效地运行如下我的CSS - 主要是去除空格/制表符等)这最终打破很多我的CSS的。

显然,一个奇怪的字符(€<)插入所有的地方)的UTF-8使用记事本+无BOM,我看不到这些,但它们出现在查看源代码。

我能够做的ANSI编码搜索替换删除这些,但我的问题是,这是什么性质的,为什么它会出现?

Answer 1:

字符串“a€<”是ZWSP的UTF-8编码的形式时,作为窗口1252的编码数据曲解。 (在使用一个不错的经过UTF-8解码器 )。这解释了为什么你不UTF-8模式下看到它在记事本++; ZWSP(零宽度的空间)是一个不可见的字符,没有宽度。

显然,浏览器解释样式表的窗口1252编码。 保存 BOM的文件可能会有所帮助,因为那么浏览器可能会猜测编码更好。 真正的解决方法是确保(以依赖服务器的方式)服务器的CSS文件发送适当的Content-Type头。

但是,如果这是你的CSS文件中唯一的非ASCII字符,它不会影响实际,您已删除有问题的数据之后。

我不知道有什么简单的方法,使记事本+ +插入ZWSP(你当然可以使用系统中的普通字符插入公用事业),所以这是一个有点神秘它是从哪里来的。 或许,通过从某处复制和粘贴。



Answer 2:

在Firefox中使用的web开发插件或分机就可以看到css文件中的问题人物。

在Visual Studio中所有我能看到的是:

}
.t

Web开发人员显示出不必要的隐藏人物,一个“A”,顶部尖号:

}
â.t

上面的UTF编码器链接透露了这一

} (the encoded character for ampersand)
.t   

和这个

但简单地修复,删除和重新输入问题。



文章来源: Special char added to css (​) where did this come from?