我的jekyll网站无法构建:Liquid Exception:不兼容的字符编码

时间:2012-10-30 19:37:08

标签: utf-8 jekyll liquid

我不知道我改变了什么,但今天我不能再成功地用jekyll构建我网站的首页。它现在抱怨:

[2012-10-30 14:22:10] regeneration: 1 files changed
Liquid Exception: incompatible character encodings: UTF-8 and ASCII-8BIT in index.html

我无法解决这个问题。我相信它是通过我在首页index.html创建的一系列帖子引入的,其中我包含了最后一个'n'帖子的摘录。我在我的_posts /目录中使用了file(1),并且确实有一些混合:

_posts/2012-08-10-canned-responses-your-silent-partner.md:    UTF-8 Unicode English text, with very long lines
_posts/2012-08-21-alternate-ssh-for-osx.md:                   UTF-8 Unicode English text, with very long lines
_posts/2012-08-21-appus-interruptus.md:                       ASCII English text
_posts/2012-10-25-emoryfocuslight.md:                         ASCII English text
_posts/2012-10-28-distributed-social-networking-with-tent.md: ASCII English text, with very long lines
但是,我不确定这是不是我的问题。我使用vim和bbedit编辑这些文件,它们存储在Dropbox中(我在Dropbox文件夹中构建/暂存,但在其他地方发布)。我的大部分写作/编辑都是在OS X上完成的。

当我搜索此错误消息时,我获得了很多针对rails应用程序的命中或强制ruby gems使用特定编码,我不知道这是否相关或甚至可以帮助我。愿意瞄准正确的方向或被告知如何解决这种情况。这是一种悲伤的事态!

4 个答案:

答案 0 :(得分:22)

修复方法是使用配置

Jekyll Configuration

实施例

encoding: utf-8

No mention of UTF fix

答案 1 :(得分:1)

我最近一直在努力解决这个问题,并最终找到了根本原因。

我浏览了所有帖子文件,发现一些旧帖子中的标题内容包含以下内容:

title: !binary | {mime encoded string}

我使用过的Wordpress迁移脚本, 将latin1字符串编码为YAML中的!binary和this 在我的案例中导致“不兼容的字符编码”错误。

我用正确的UTF-8字符串替换了那些,之后一切顺利。

答案 2 :(得分:1)

  

此外,如果在站点生成过程中出现“Liquid Exception:Incompatible character encoding”错误,您可能需要将控制台窗口的代码页更改为UTF-8。可以使用以下命令完成:

chcp 65001

(来自jekyll"适用于Windows的安装页面":http://jekyllrb.com/docs/windows/

答案 3 :(得分:0)

声音愚蠢但重新安装Jekyll。然后尝试重新编译您的网站。

有一个快速的谷歌搜索,请记住这些不是为杰基尔而是红宝石如此相似。

ruby 1.9 + sinatra incompatible character encodings: ASCII-8BIT and UTF-8

http://www.ruby-forum.com/topic/206925

您在_config中将markdown设置为什么?