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

В этом выпуске это произошло:

  • Мощный движок YAML обновлен до последней версии