Sass编译和转换特殊字符

时间:2017-09-23 15:05:44

标签: css sass

Sass编译我的.scss文件时,我遇到了问题。似乎Sass编译«个特殊字符并将其转换为另一个┬½。但我希望将«保留在.css文件中。

有人知道如何解决这个问题吗? 或者也许谁知道如何要求Sass不要编译特定的行?

这是我的scss代码:

/* SCSS file sample */
&::before{
    content: "«";
}

&::after{
    content: "»";
}

以下是它如何编译它:

/* Compiled CSS */
.textBox--quotation::before {
  content: "«";
}
.textBox--quotation::after {
  content: "┬╗";
}

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

使用与您的特殊字符相当的CSS:

\00AB (已转换为here

div:after {
  content: "\00AB";
}
<div>hello  </div>

答案 1 :(得分:2)

我可以在Windows Sass 3.5.1(Bleeding Edge)下确认这一点。

当文件编码为UTF-8 with BOM时,这不会发生。只有当文件被编码没有BOM 时(这基本上意味着你编码UTF-8,但你没有告诉任何人)。我的猜测:Sass会将文件解析为普通ANSI,因此会看到这两个字符。

有趣的事情:当文件使用BOM进行编码时,sass将其删除并添加注释@charset "UTF-8"; 没关系,它始终执行此操作

答案 2 :(得分:0)

我遇到了相同的字符集问题。

特别是在OSX上,红宝石编码设置似乎有问题。

我修复了它在主项目目录中创建config.rb文件的问题,以明确告诉ruby应该使用哪种字符集编码。由于无礼和指南针依赖于红宝石,因此很有可能解决您的问题。

Encoding.default_external = 'utf-8'