在我们的 JRuby/Rails 项目中,我们使用i18n
gem,并且支持日语和英语。我们的config/locales.ja.yml
文件是 UTF-8 格式,没有任何 BOM。
在 上运行Rails 3.2.9
时JRuby 1.7.1
,我们现在看到以下错误:
% 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
or中看到这个1.7.0
。