ruby编译scss出现invalid GBK错误
问题描述
在windows7上面,通过ruby编译scss时,发现编译报错,内容如下:
Conversion error: Jekyll::Converters::Scss encountered an error while converting 'css/main.scss':<br></br> Invalid GBK character "\xE3" on line 315
虽然给出来了报错的原因,但是尼玛,main.scss总共也没有315行啊,而且并没有中文注释什么的。查找一番之后才发现,这里编译器报错的位置不一定是scss中的位置,也有可能是你在scss中引用了其他库中含有中文字符。我在scss中引入了字体文件,文件中包含了中文字符
解决办法
1.在ruby的安装目录下找到engine.rb文件,目录格式如D:\ruby\Ruby21\lib\ruby\gems\2.1.0\gems\sass-3.4.15\lib\sass
在文件中添加一行Encoding.default_external = Encoding.find('utf-8')<br></br>
在require语句结束处,如:
require 'sass/media'
require 'sass/supports'
module Sass
Encoding.default_external = Encoding.find('utf-8')
2.在scss文件的头部加一行<a href="/u/charset">@charset</a> "utf-8"