我有以下CSS规则:
.icon {
content: "✓";
color: #337ab7;
display: inline-block;
width: 1em;
margin-left: -1em;
}
我使用UTF-8字符✓。但是我发现有时该符号在页面上被替换为“ –”符号。
为什么会这样?
[更新] :
<meta charset="utf-8">
声明[更新2] :我发现CSS文件使用响应标头进行响应:
content-encoding: br
答案 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。