Ошибка JRuby 1.7.1 и PsychParser при разборе файла YAML UTF-8 (Rails 3.2.8)
В нашем проекте JRuby/Rails мы используем i18n
жемчужина и поддержка японского, а также английского языка. наш config/locales.ja.yml
Файл в UTF-8, без какой-либо спецификации.
При беге 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
или же 1.7.0
,
1 ответ
Решение
Уже более года, но вот ответ:
http://jruby.org/2012/12/03/jruby-1-7-1.html
В этом выпуске это произошло:
- Движок Psych YAML обновлен до последней версии