为什么✓符号有时会被替换为“ –”?

时间:2019-03-21 07:41:59

标签: html css unicode

我有以下CSS规则:

.icon {
    content: "✓";
    color: #337ab7;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}

我使用UTF-8字符✓。但是我发现有时该符号在页面上被替换为“ –”符号。

为什么会这样?

[更新]

  • 版本为72.0.3626.121的选择器浏览器。
  • 标题部分包含<meta charset="utf-8">声明

[更新2] :我发现CSS文件使用响应标头进行响应:

content-encoding: br

2 个答案:

答案 0 :(得分:1)

尝试使用实体:QStringList filter; filter.push_back("*.png"); frst_filter = Dir.entryList(filter); filter.pop_back(); filter.push_back("*.txt"); scnd_filter = Dir.entryList(filter); cout<<frst_filter.size()<<" "<<scnd_filter.size()<<endl;

答案 1 :(得分:1)

原因:字符是U + 2713(Unicode代码点),在UTF-8中被编码为E2 9C 93。因此,我假设您的文件已正确编码为UTF-8。

但是以某种方式将文件读取为Windows-1252,其中E2â9Cœ,而93是{{1} }。也许您的服务器认为它是文本,并且以某种过时的编码来广告该编码(CSS和BTW也是大多数Web,默认情况下应为UTF-8)。

您可能需要在CSS顶部添加,以强制浏览器将文件解释为UTF-8。有关详细信息,请参见https://www.w3.org/International/questions/qa-css-charset