我的.scss文件中有以下规则:
.listing-price:before {
...
content: "♥";
无论出于何种原因,运行sass --update foo.scss:foo.css --style expanded
会将其转换为:
.listing-price:before {
...
content: "ΓÖÑ";
为什么会发生这种情况,我需要做些什么来阻止它?
答案 0 :(得分:2)
Sass应该在您的文档上自动检测字符编码。如果由于某种原因,您可以使用@charset "UTF-8";
来自SASS文档:
在Ruby 1.9及更高版本上运行时,Sass知道文档的字符编码。 Sass遵循CSS规范来确定样式表的编码,并回退到Ruby字符串编码。这意味着它首先检查Unicode字节顺序标记,然后检查@charset声明,然后检查Ruby字符串编码。如果没有设置,则假定文档为UTF-8。
要明确指定样式表的编码,请使用@charset声明,就像在CSS中一样。添加@charset" encoding-name&#34 ;;在样式表的开头(在任何空格或注释之前),Sass会将其解释为给定的编码。请注意,无论使用何种编码,都必须可以转换为Unicode。
Sass将始终将其输出编码为UTF-8。当且仅当输出文件包含非ASCII字符时,它将包含@charset声明。在压缩模式下,使用UTF-8字节顺序标记代替@charset声明。
@charset "UTF-8";
.listing-price:before {
content: "♥";
}
<强>演示:强>
https://www.sassmeister.com/gist/6326e75075795d1c265d26467c06518c
<强>文档:强>
答案 1 :(得分:2)