Jekyll编译出现ivalid GBK问题

不知什么原因,在用jekyll serve生成本地网页时出现了ivalid GBK问题,因为jekyll利用的是ruby,应该是ruby的编译错误。

现象

Conversion error: Jekyll::Converters::Scss encountered an error while converting 'css/main.scss':
                    Invalid GBK character "\xE5" on line 368

搜索网上,果然发现有人也遇到了此问题,分析:Invalid GBK character "\xE5" on line 368提示的倒很清楚,但我的jekyll博客文件夹css的main.scss没有第368行呀,应该是编译时调用了其他文件,而这些文件包含了中文编码。

解决

修改编译引擎文件设置外部默认编码是utf-8就可以了,所以修改ruby文件,根据自己的安装目录找到此文件,在module Sass之后添加Encoding.default_external = Encoding.find('utf-8')一行即可,我的是C:\Ruby22-x64\lib\ruby\gems\2.2.0\gems\sass-3.4.18\lib\sass\engine.rb,如下的样子:

require 'sass/script'
require 'sass/scss'
require 'sass/stack'
require 'sass/error'
require 'sass/importers'
require 'sass/shared'
require 'sass/media'
require 'sass/supports'

module Sass

Encoding.default_external = Encoding.find('utf-8')

jekyll

421 字

2015-10-09 12:34 +0800