2012-12-12 11 views
10

In unserem JRuby/Rails-Projekt verwenden wir den Edelstein i18n und unterstützen Japanisch sowie Englisch. Unsere config/locales.ja.yml Datei ist in UTF-8, ohne jede Stückliste.JRuby 1.7.1 und PsychParser Fehler Parsing UTF-8 YAML-Datei (Rails 3.2.8)

Wenn Rails 3.2.9 auf JRuby 1.7.1 läuft, jetzt wir die folgende Fehlermeldung angezeigt:

% 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 
    ... 

Dieser Fehler für YAML die ja.yml Datei Parsen jetzt sowohl auf der Windows XP und Linux-Entwicklungsumgebungen geschieht, und nur scheint weg, wenn wir ausdrücklich auf die folgenden Systemparameter für die JVM gesetzt:

-Dfile.encoding=utf-8 

Könnte mir jemand sagen, warum das passiert auf JRuby 1.7.1?
Ich habe das in 1.6.8 oder 1.7.0 nicht gesehen.

+0

Faced Das gleiche gilt für Jruby1.7, Rails 3.2.13 unter Windows, aber ohne Fehler oder Ausnahme, nur fetziger Text anstelle von Arabisch .. läuft 'SET JAVA_TOOL_OPT IONS = "-Dfile.encoding = UTF8" 'hat auch für mich funktioniert – Nimir

+0

Es passiert ein Fehler http://jira.codehaus.org/browse/JRUBY-7142; behoben seit 1.7.5 – ted

+0

@ted "behoben seit 1.7.5"? Es scheint immer noch, dass die neueste Version bis heute ist 1.7.4 ... – buruzaemon

Antwort