【问题标题】:jekyll regeneration failed with unicode postsjekyll 再生失败,带有 unicode 帖子
【发布时间】:2013-09-29 06:07:53
【问题描述】:

我尝试使用 unicode 帖子重新生成我的 jekyll 博客(russian 文本使用 utf-8 编码)并且不能这样做,因为:

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],解决方案对我没有帮助。

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

【问题讨论】:

  • 你能发布你的 _config.yml 吗?谢谢。
  • @motleydev 我添加了关于 unicode 符号和 _config.yml 的注释。
  • 我过去曾遇到过一些棘手的问题,即在我的前面事项中出现空白退货 - 你试过把它们拉出来吗?
  • @motleydev 如果我用英文替换我的俄语帖子,jekyll regeretion 也可以。
  • 嗯......那么遗憾的是我必须退出“建议圈” - 我希望你能解决这个问题。

标签: ruby jekyll


【解决方案1】:

chcp 65001 在我的系统上不起作用,然后 jekyll 立即返回。

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

【讨论】:

    【解决方案2】:

    chcp 65001 在 cmd 中每次运行 jekyll 之前都会帮助我。但我认为这不是完整的解决方案

    【讨论】:

      【解决方案3】:

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

      它对我有用。这只是一行中的更改,因此它强制以 utf-8 读取文件

      【讨论】:

        猜你喜欢
        • 2012-06-13
        • 2015-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多