jekyll再生失败了unicode帖子

时间:2012-09-17 21:53:08

标签: ruby jekyll

我尝试使用 unicode 帖子(俄语文字 utf-8 编码)重新发布 jekyll 博客而且不能这样做是因为:

D:\Dropbox\projects\blog>jekyll
Configuration from D:/Dropbox/projects/blog/_config.yml
Building site: . -> ./_site
C:/Ruby193/lib/ruby/1.9.1/rexml/text.rb:131:in `=~': incompatible encoding regexp match (UTF-8 regexp with IBM437 string) (Encoding::Compati
bilityError)
    from C:/Ruby193/lib/ruby/1.9.1/rexml/text.rb:131:in `!~'
    from C:/Ruby193/lib/ruby/1.9.1/rexml/text.rb:131:in `check'
    …

Full error log on pastebin

我的_config.yml: (full config on pastebin)

safe:        false
auto:        false
server:      false
server_port: 4000
baseurl:    /
…

我检查了 [error installing RDoc …] [heroku installation problems] ,解决方案对我没用。

我将提供任何补充信息来解决这个问题

3 个答案:

答案 0 :(得分:5)

chcp 65001 在我的系统上无效,然后jekyll立即返回。

解决此错误的一种简单方法是避免帖子和页面的文件名中包含非ASCII字符。如果文件内容本身不是以BOM开头的话,那么它本身可以是UTF-8而没有问题。

答案 1 :(得分:3)

在运行jekyll之前,cmd中的

chcp 65001每次都会帮助我。但我认为这不是完整的解决方案

答案 2 :(得分:2)

使用以下修正:https://github.com/bradleywright/jekyll/commit/576f97e2610ef3259a3ea778537d244bc438da20

它对我有用。它只是一行中的变化,因此它强制在utf-8

中读取文件