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

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


谢谢
10474 次点击
所在节点    Jekyll
24 条回复
sparanoid
2012-01-24 20:40:49 +08:00
报错内容?我只用 Jekyll,没出现过这个问题
justend
2012-01-24 20:47:25 +08:00
@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-01-24 20:59:36 +08:00
"invalid byte sequence in GBK" 你应该检查程序为什么认为你的内容是 GBK,比如是不是某个配置的问题。
justend
2012-01-24 21:07:31 +08:00
没有配置过任何东西,git clone最新的代码后,只是扔个post文件,然后在文件中写几个中文就出这问题了
tomliu
2012-01-24 21:13:21 +08:00
@justend 上次我遇到这个问题是_config.yml 里某个某个冒号后面少了空格。
justend
2012-01-24 21:21:59 +08:00
@tomliu

谢谢,不是这个问题,新clone的源码,这个文件都没改过
jjgod
2012-01-24 21:24:57 +08:00
@justend: 那你是用什么编码写的?
justend
2012-01-24 21:48:49 +08:00
@jjgod

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

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

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

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

再有问题我也不知道了。
sampeng
2012-05-04 23:07:24 +08:00
windows的悲剧。。。。这种玩意就是给类linux系统用的。。。windows很憋屈的

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

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

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

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

© 2021 V2EX