我用

sass --watch scss:css

让Sass为每个SCSS文件自动创建CSS文件(并将它们放在/css目录中)(来自我的/scss目录)。

在我的SCSS文件中,我有以下内容:
.foo::before {
    content: "▶";
}

当我在浏览器中测试网页时,不会显示“播放”字符-而是看到一堆带有纸箱和其他重音的怪异字母。

我检查了生成的CSS文件,并在第一行中注意到了这一点:
@charset "CP852";

然后,我手动将其更改为:
@charset "UTF-8";

导致我的“播放”按钮被正确渲染。

现在,Sass为什么将字符集设置为"CP852"?我正在PhpStorm中编写SCSS文件,该文件报告SCSS文件确实是UTF-8编码的(我在PhpStorm的状态栏中看到了该文件)。

最佳答案

尝试将@charset "UTF-8";添加到原始SCSS文件中,SASS不应覆盖它/然后添加它自己的文件。

关于css - 为什么Sass会添加错误的@charset规则?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10363506/

10-16 19:05