CFXIXI工作室首页
CF西西的博客 | ruby编译scss出现invalid GBK错误

ruby编译scss出现invalid GBK错误

29. 六月 2016

转自:https://segmentfault.com/a/1190000002932352

 

问题描述

在windows7上面,通过ruby编译scss时,发现编译报错,内容如下:

Conversion error: Jekyll::Converters::Scss encountered an error while converting 'css/main.scss':
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')
在require语句结束处,如:

require 'sass/media'
require 'sass/supports'
module Sass   
Encoding.default_external = Encoding.find('utf-8')

2.在scss文件的头部加一行@charset "utf-8"

综合