在我們的JRuby/Rails項目中,我們使用的是i18n
gem,並支持日文和英文。我們的config/locales.ja.yml
文件採用UTF-8,沒有任何BOM。JRuby 1.7.1和PsychParser錯誤解析UTF-8 YAML文件(Rails 3.2.8)
當運行JRuby 1.7.1
Rails 3.2.9
,我們現在看到了以下錯誤:
% jruby -S rake spec:models
Psych::SyntaxError: (C:/Projects/foobar/trunk/config/locales/ja.yml):
expected <block end>, but found Scalar while parsing a block
mapping at line 7 column 33
parse at org/jruby/ext/psych/PsychParser.java:213
...
此錯誤YAML解析ja.yml
文件現在發生在了我們的Windows XP和Linux開發環境和似乎只走的時候,我們明確地設置了JVM以下系統參數:
-Dfile.encoding=utf-8
誰能告訴我爲什麼這發生在JRuby 1.7.1
?
我沒有看到這在1.6.8
或1.7.0
。
面對同樣的事情與Jruby1.7,在Windows下的Rails 3.2.13,但沒有錯誤或異常,只是garpish文本,而不是阿拉伯文..運行'SET JAVA_TOOL_OPT IONS =「-Dfile.encoding = UTF8」'也適用於我 – Nimir
容易成爲bug http://jira.codehaus.org/browse/JRUBY-7142;自1.7.5以來固定 – ted
@ted「自1.7.5以來固定」?它仍然顯示迄今爲止的最新版本是1.7.4 ... – buruzaemon