21

我不知道我改变了什么,但是今天我不能再用 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

4 回答 4

22

解决方法是使用配置

Jekyll 配置

例子

encoding: utf-8

没有提到 UTF 修复

于 2013-02-04T16:16:52.367 回答
2

此外,您可能需要将控制台窗口的代码页更改为 UTF-8,以防在站点生成过程中出现“液体异常:不兼容的字符编码”错误。可以使用以下命令完成:

chcp 65001

(来自 jekyll“Windows 安装页面”:http: //jekyllrb.com/docs/windows/

于 2017-06-17T07:19:31.247 回答
1

我最近一直在努力解决同样的问题,终于找到了根本原因。

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

title: !binary | {mime encoded string}

可能是我使用的 Wordpress 迁移脚本将 latin1 字符串编码为 YAML 中的 !binary ,这在我的情况下导致了“不兼容的字符编码”错误。

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

于 2013-04-03T12:31:25.770 回答
0

听起来很愚蠢,但重新安装 Jekyll。然后尝试重新编译您的网站。

有一个快速的谷歌搜索,记住这些不是 Jekyll 而是 ruby​​ 如此相似。

ruby 1.9 + sinatra 不兼容的字符编码:ASCII-8BIT 和 UTF-8

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

markdown在 _config 中设置了什么?

于 2012-11-30T22:42:31.593 回答