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')