我用
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的状态栏中看到)。
答案 0 :(得分:30)
尝试将@charset "UTF-8";
添加到原始SCSS文件中,SASS不应覆盖它/添加自己的SCSS文件。
答案 1 :(得分:5)
就像@ Alireza-Fatahi在this answer中说的那样,您可以在CSS输出中保存一行,而是在外部文件上使用默认字符集,方法是将此行添加到 config.rb
< / strong>在项目文件夹中:
Encoding.default_external = "UTF-8"