请教关于Jekyll和octopress的中文问题

2012 年 1 月 24 日
 justend
只要在jekyll或octopress中加入中文字符,就无法通过rake generate. 在网上搜索发现可以通过加环境变量的方式解决,加了LC_ALL=zh_CN.UTF-8和LANG=zh_CN.UTF-8后,还是不行(centos,mac,windows都试过了),不知大家有没有遇到同样的问题,怎么解决的


谢谢
11975 次点击
所在节点    Jekyll
24 条回复
sparanoid
2012 年 1 月 24 日
报错内容?我只用 Jekyll,没出现过这个问题
justend
2012 年 1 月 24 日
@sparanoid 提示信息如下,谢谢回复

C:\Sites\octopress>bundle exec rake generate
## Generating Site with Jekyll
unchanged sass/screen.scss
Configuration from C:/Sites/octopress/_config.yml
Building site: source -> public
C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/jekyll-0.11.0/lib/jekyll/co
nvertible.rb:29:in `read_yaml': invalid byte sequence in GBK (ArgumentError)
from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/jekyll-0.11.0/
lib/jekyll/post.rb:39:in `initialize'
from C:/Sites/octopress/plugins/preview_unpublished.rb:23:in `new'
from C:/Sites/octopress/plugins/preview_unpublished.rb:23:in `block in r
ead_posts'
from C:/Sites/octopress/plugins/preview_unpublished.rb:21:in `each'
from C:/Sites/octopress/plugins/preview_unpublished.rb:21:in `read_posts
'
from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/jekyll-0.11.0/
lib/jekyll/site.rb:128:in `read_directories'
from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/jekyll-0.11.0/
lib/jekyll/site.rb:98:in `read'
from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/jekyll-0.11.0/
lib/jekyll/site.rb:38:in `process'
from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/jekyll-0.11.0/
bin/jekyll:250:in `<top (required)>'
from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/bin/jekyll:19:in `l
oad'
from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/bin/jekyll:19:in `<
main>'
jjgod
2012 年 1 月 24 日
"invalid byte sequence in GBK" 你应该检查程序为什么认为你的内容是 GBK,比如是不是某个配置的问题。
justend
2012 年 1 月 24 日
没有配置过任何东西,git clone最新的代码后,只是扔个post文件,然后在文件中写几个中文就出这问题了
tomliu
2012 年 1 月 24 日
@justend 上次我遇到这个问题是_config.yml 里某个某个冒号后面少了空格。
justend
2012 年 1 月 24 日
@tomliu

谢谢,不是这个问题,新clone的源码,这个文件都没改过
jjgod
2012 年 1 月 24 日
@justend: 那你是用什么编码写的?
justend
2012 年 1 月 24 日
@jjgod

utf-8
dofine
2012 年 1 月 24 日
前几天也遇到这个问题,确实是通过在 ~/.bashrc 里 export LC_ALL 和 LANG 搞定的,win7 & mingw
bcxx
2012 年 1 月 24 日
直接用 github page 的 jekyll, 没遇到任何中文问题。 尝试将 _config.yml 编码改为 utf-8?
justend
2012 年 1 月 25 日
我用mac上的文本编辑器编辑后写中文一切ok... 暂时就只能用mac写了 -_-

用windows的编辑器就不行,试过editplus,gedit,notepad plus 等,转换utf-8格式也是不行。
dofine
2012 年 1 月 25 日
@justend 你在windows 上用bash试试?不要用cmd.exe
ywjno
2012 年 1 月 25 日
octopress的话,请把生成的.markdown文件编码给改成”UTF-8无BOM格式”
amycs
2012 年 1 月 30 日
我也遇到这个问题。。jekyll 没有用 octopress。。win 下面怎么转换/改配置 都不行 ╮(╯-╰)╭
amycs
2012 年 1 月 31 日
我的问题解决了

self.content = File.read(File.join(base, name), :encoding => "utf-8")

https://github.com/imathis/octopress/issues/232
moistrot
2012 年 3 月 8 日
windows写就是悲剧。麻烦的很。还是用mac或者linux写起来舒服
chendeshen
2012 年 5 月 4 日
把全部文件都用utf-8保存,解决所有问题,亲测有效。
9hills
2012 年 5 月 4 日
直接用cygwin吧。
joshualeung
2012 年 5 月 4 日
1,markdown文件如果出现了中文请另存为UTF-8格式且去掉BOM头。
2, yaml的冒号后要有空格。
3, 把设置环境变量里的zh_CN改成en_US

再有问题我也不知道了。
sampeng
2012 年 5 月 4 日
windows的悲剧。。。。这种玩意就是给类linux系统用的。。。windows很憋屈的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/26027

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX