错编码部分(Wrong encoding for partial)

2019-08-08 03:18发布

我正在compass watch my_project在Windows XP上。

  • index.scss

     @charset "UTF-8"; @import 'partial'; // ... 
  • _partial.scss

     p:before { content: '•'; } 
  • config.rb

     encoding = "utf-8" 
  • 产生index.css

     @charset "UTF-8"; /* line 1, ../sass/_partial.scss */ p:before { content: 'ÔÇó'; } // ... 

如何使北斗/萨斯解释部分为UTF-8? 是否有可能,我可以改设为由红宝石使用默认字符编码的环境变量( compass是一个Ruby应用程序)?

Answer 1:

在我的Windows 7的机器,它的工作为以下行添加到我的项目的config.rb

Encoding.default_external = 'utf-8'

还发现指南针/更少/ JS压缩一个伟大的GUI: http://koala-app.com/



Answer 2:

也许它不是一个直接的答案,但即使你不能让北斗/萨斯解释UTF只要你想,你可以简单地尝试使用Unicode转义:

p:before {
    content: "\2022";
}

其中2022是你的符号十六进制码。 为了得到这个代码,我在IRB执行此:

irb> "•"[0].ord.to_s(16)
=> "2022"

也许不是,如果你有很多的unicode字符的一个很好的解决方案,但至少一种变通方法。 例如, FontAwesome使用它在它的样式表 。



Answer 3:

除了转义字符(可预测的,但繁琐)的@NIA的建议,也有解决这个其他两种方法:

  1. 添加@charset "utf-8"; 到_partial.scss顶部
  2. 保存_partial.scss为 “UTF-8 BOM”。

由什么我到目前为止阅读来看,这似乎是建立串从磁盘上的文件读取时是通用的Ruby / WIN问题与不正确编码检测/回退。



文章来源: Wrong encoding for partial