如何处理CSS中的异常字符?

时间:2012-04-27 22:36:17

标签: html css unicode wget

我指的是以下文件

http://yabe.ayafish.com/static/stylesheets/crudify.css

如果我直接链接到它,那么以下代码

.crudSortedAsc:after {
    content: 'â–¼';
}

显示为向上箭头。如果我尝试通过wget下载并在本地使用它,则会显示原始文本而不是箭头。如何在本地运行样式表时显示箭头?

6 个答案:

答案 0 :(得分:1)

这是编码问题。在途中的某个地方,有些东西不是UTF8。那个停止是你的问题,解决它,你应该得到你的箭头。

答案 1 :(得分:1)

这几乎肯定是编码问题。

为了澄清,浏览器和css文件需要以相同的编码进行通信,否则将以不同的方式呈现相同的实体。该标准是utf-8,但重要的问题并非真正使用,而是统一使用。

答案 2 :(得分:1)

尝试使用其他编辑器。我发现那里有几个编辑器有这个问题,你没有意识到字符在那里,直到你把它放在服务器上后检查css(在你的编辑器中看不到它。)我使用{{3}我没有任何进一步的问题。

答案 3 :(得分:1)

在您的css文件顶部添加@charset "UTF-8";

答案 4 :(得分:1)

当CSS文件只包含两个特殊字符时,最简单和最健壮的方法是使用CSS转义符表示它们。它们独立于字符编码工作。对于'▼'使用'\ 25BC'和'▲'使用'\ 25B2'。

有很多方法可以直接在CSS中使用这些字符,但是文件的编码必须正确(实际上是UTF-8),并且必须在{{1}的HTTP标头中正确声明CSS中的规则,或引用CSS文件的@charset元素的charset属性。而且你需要确保你的设置没有被覆盖;例如,HTTP标头会覆盖其他设置。

答案 5 :(得分:0)

在我的css中有一个同样的问题曾经有过时髦的角色,修复它的是将样式表重新保存为UTF8,而不是在记事本++中将“UTF8无BOM”重新修复并修复了问题。您始终可以尝试在样式表的最顶部定义编码:

@charset "UTF-8";