–;使用CSS:after插入时对em破折号进行编码

–;使用CSS:after插入时对em破折号进行编码,css,encoding,character-encoding,Css,Encoding,Character Encoding,当我试图呈现em破折号(-)时,我的页面上出现了旧的–€“。我相信这可以通过将添加到文档头来解决。但在这种情况下,我是通过css插入em破折号的 .el:after{ content: "— content to be after"; } 不知何故,它没有被正确编码。内容:“—”;也不起作用;它只呈现amersand代码。我如何解决这个问题?尝试在样式表的顶部添加以下内容 @charset "UTF-8"; 您的HTTP服务器(Apache、Nginx等)可能正在指定不同的

当我试图呈现em破折号(
-
)时,我的页面上出现了旧的
–€“
。我相信这可以通过将
添加到文档头来解决。但在这种情况下,我是通过css插入em破折号的

.el:after{
   content: "— content to be after";
}

不知何故,它没有被正确编码。
内容:“—”;
也不起作用;它只呈现amersand代码。我如何解决这个问题?

尝试在样式表的顶部添加以下内容

@charset "UTF-8";
您的HTTP服务器(Apache、Nginx等)可能正在指定不同的字符集。它应使用以下命令响应:

Content-Type: text/css; charset=UTF-8

有关详细信息,请参见

虽然设置正确的编码始终是一件好事,但我尝试完全避免这种情况,并在HTML、JavaScript和CSS中仅使用ASCII字符:

content:"\2014"
在CSS中,Unicode字符由
\hexValue
表示


请注意,如果以下字符是
0-9
a-f
(或
a-f
),它将被视为unicode字符的一部分。您可以在其后面加一个空格:
“\2014 stuff”
,空格将不会显示(它只是标记字符的结尾)。若要在文件后面加一个空格,请使用两个空格。

您需要以您声称的格式保存文件。@Dave,对不起,什么?您也可以尝试
content:“\2014要放在后面的内容”
@thomas声明utf-8字符集只有在您的文件实际为utf-8时才有效。您的文本编辑器可能会将其保存为不同的编码。无论如何,请参阅我的答案,以获得绕过所有编码陷阱的简单方法。按照其他人的建议在CSS文件中设置编码可能没有帮助,因为从
开始“
,看起来您的文件不是utf-8。从字面上说,两秒钟后就可以提出相同的建议。这是一个基于您的答案的小提琴,效果非常好。哇。这很酷。谢谢。为什么您认为它比使用其他编码更好?因为它很容易意外地以错误的编码保存,或者使用一些自动处理程序但是ASCII字符集在utf-8中是相同的,这意味着它很少会失败(如果失败了,你所有的常规内容都会失败,所以你会遇到更大的问题!)