【问题标题】:Sass default encoding errorsSass 默认编码错误
【发布时间】:2014-05-21 20:08:49
【问题描述】:

我正在尝试从 python 调用 sass,但我正在努力使其工作。

如果我从 CLI 运行以下命令,它会起作用:

sass /path/to/style.scss /path/to/style.css --style=compressed

这在我尝试通过我的 python 脚本调用它之前有效:

import subprocess
subprocess.check_output(['sass', '/path/to/style.scss', '/path/to/style.css', '--style=compressed'])

我收到以下错误:

语法错误:无效的 US-ASCII 字符“\xE2”

我了解到我可以通过在每个有编码错误的文件的顶部添加@charset "UTF-8"; 来解决此问题。

问题是有很多文件,而且很多都在 bower 包中,所以添加它们并不是最好的解决方案。

我已经读到我可以将以下选项附加到 sass:--default-encoding="UTF-8",但是当我尝试这个时,我在 CLI 和 Python 中都得到了这个错误:

ArgumentError:未知编码名称 - “UTF-8”

任何人都知道任何其他解决方法,或者为什么它可以在 CLI 上运行而不是通过 python 调用它?

【问题讨论】:

    标签: python ruby utf-8 sass


    【解决方案1】:

    试试这个:

    sass --default-encoding UTF-8 
    

    【讨论】:

      【解决方案2】:

      SASS 文档say on this:

      编码

      在 Ruby 1.9 及更高版本上运行时,Sass 可以识别字符 文档的编码。 Sass 遵循 CSS 规范来确定 样式表的编码,并回退到 Ruby 字符串编码。 这意味着它首先检查 Unicode 字节顺序标记,然后 @charset 声明,然后是 Ruby 字符串编码。如果这些都没有 已设置,它将假定文档为 UTF-8。

      要明确指定样式表的编码,请使用 @charset 声明就像在 CSS 中一样。 <...>

      所以,这里有很多选择。

      有关“Ruby 字符串编码”部分,请参阅Set UTF-8 as default for Ruby 1.9.3

      【讨论】:

        猜你喜欢
        • 2010-10-12
        • 1970-01-01
        • 1970-01-01
        • 2021-07-29
        • 2020-06-06
        • 2011-03-22
        • 2020-10-12
        • 2015-07-08
        • 1970-01-01
        相关资源
        最近更新 更多