在windows下使用jekyll时经常会遇到字符集错误,比如遇到提示Liquid error: incompatible character encodings: UTF-8 and GBK。本文将介绍几种解决方案。
1. 修改bash的字符集:在C:\Documents and Settings\用户名下,找到文件.bash_profile,后面加两行
1 2 | |
2. 所有文档使用utf-8无BOM格式
在Windows下新建的文本文件默认是ANSI格式的,而jekyll只认utf-8。如果遇到ANSI格式编码的文件,可以在notepad++中转换,如下图:

3. 使用Unix换行符
可以在notepad++中转换,如下图:

这里有个技巧,在notepad++中,可以开启“显示所有字符”选项,这样就可以看出文档用的是Windows的换行符还是Unix的换行符。

在这种模式下,Windows的换行符显示的是CR,Unix的换行符显示的是LF
4. 新建文档的时候就注意到前两条
在设置–>首选项里,如下设置

5. 注意YAML头部的格式
模板文件的元数据以YAML的格式展现,YAML头部经常会出现三个问题:(1)三短线前面不能有空格;(2)“名: 值”对里冒号后面要有空格;(3)回车后不要有Tab符;(4)表示数组成员开始的-号后面要有空格
在notepad++中开启“显示所有字符”选项后,就可以看清空格和Tab符了,下图是很规范的例子

尤其是Tab符,不借助工具很难跟空格区分,下图那个向右箭头的符号就是Tab符,这是个错误的例子,应该把Tab符删除,改为用空格缩进

正确的应该是这样,-号后面都有空格
