我的 jekyll 站点无法构建:Liquid Exception: incompatible character encodings
Posted
技术标签:
【中文标题】我的 jekyll 站点无法构建:Liquid Exception: incompatible character encodings【英文标题】:My jekyll site can't build: Liquid Exception: incompatible character encodings 【发布时间】:2012-10-20 05:32:30 【问题描述】:我不知道我改变了什么,但是今天我不能再用 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 gem 使用特定编码的结果,我不知道这是否相关甚至对我有帮助。很想瞄准正确的方向或被告知如何解决这种情况。这是一种可悲的状态!
【问题讨论】:
我经常遇到这种情况,并希望看到一个看似有意义的答案。 截至 2019 年,我仍然收到此错误。如果我使用--source DIR
选项,enocding: utf-8
或 chcp 65001
都不起作用。
【参考方案1】:
解决方法是使用配置
Jekyll Configuration
例子
encoding: utf-8
No mention of UTF fix
【讨论】:
【参考方案2】:此外,您可能需要将控制台窗口的代码页更改为 UTF-8,以防在站点生成过程中出现“Liquid Exception: Incompatible character encoding”错误。可以通过以下命令完成:
chcp 65001
(来自 jekyll“Windows 安装页面”:http://jekyllrb.com/docs/windows/)
【讨论】:
【参考方案3】:我最近一直在为同样的问题苦苦挣扎,终于找到了根本原因。
我浏览了所有帖子文件,发现一些旧帖子中的标题问题包含以下内容:
title: !binary | mime encoded string
可能是我用过的 Wordpress 迁移脚本, 将 latin1 字符串编码为 YAML 中的 !binary 和 this 在我的情况下导致“不兼容的字符编码”错误。
我用正确的 UTF-8 字符串替换了那些,之后一切顺利。
【讨论】:
【参考方案4】:听起来很愚蠢,但重新安装 Jekyll。然后尝试重新编译您的网站。
有一个快速的谷歌搜索,记住这些不是 Jekyll 而是 ruby 非常相似。
ruby 1.9 + sinatra incompatible character encodings: ASCII-8BIT and UTF-8
http://www.ruby-forum.com/topic/206925
您在_config 中将markdown
设置为什么?
【讨论】:
以上是关于我的 jekyll 站点无法构建:Liquid Exception: incompatible character encodings的主要内容,如果未能解决你的问题,请参考以下文章
Jekyll/Liquid 模板:如何按年份对博客文章进行分组?