重装系统后 gem install jekyll 升级到新版,遇到中文解码问题,报错 "invalid byte sequence in GBK"。

Jekyll 1.3.0 之前的解决法

convertible.rb 中的

self.content = File.read(File.join(base, name))

改为

self.content = File.read(File.join(base, name), :encoding => "utf-8")

或在 read_yaml 中为 opts 指定 {:encoding => "utf-8"}。文件位于 lib/jekyll/convertible.rb

Jekyll 1.4.3 的处理

方法一:类似 1.3.0,在对应位置添加 UTF-8 编码选项(具体需对照新版源码)。

方法二:卸载 1.4.3,回退到 1.3.0:

gem uninstall jekyll
gem install jekyll --version "=1.3.0"