在使用Jekyll发布文章时出现字符码问题,特记录下。

解决方案

进入Ruby的安装目录,找到C:\Ruby21-x64\lib\ruby\gems\2.1.0\gems\jekyll-1.4.2\lib\jekyll\convertible.rb文件,找到第36行代码,如下:

def read_yaml(base, name, opts = {})
  begin
    self.content = File.read_with_options(File.join(base, name),
                                          merged_file_read_opts(opts))

修改为:

def read_yaml(base, name, opts = {})
  begin
    self.content = File.read_with_options(File.join(base, name),
                                          merged_file_read_opts(opts),
										  :encoding=>"utf-8")

然后确保所有带中文字符的markdown文件是无BOM的UTF-8格式即可。