2012-12-12 14 views
10

Nel nostro progetto JRuby/Rails, stiamo utilizzando la gemma i18n e supportiamo il giapponese e l'inglese. Il nostro file config/locales.ja.yml è in UTF-8, senza alcun BOM.Errore JRuby 1.7.1 e PsychParser durante l'analisi del file YAML UTF-8 (Rails 3.2.8)

Quando si esegue Rails 3.2.9 su JRuby 1.7.1, ora vediamo il seguente errore:

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

Questo errore per YAML l'analisi del file ja.yml sta ora accadendo su entrambi i nostri ambienti di sviluppo di Windows XP e Linux, e sembra solo andare via quando abbiamo fissato in modo esplicito il seguente parametro di sistema per la JVM:

-Dfile.encoding=utf-8 

qualcuno mi potrebbe dire perché questo sta accadendo su JRuby 1.7.1?
Non ho visto questo in 1.6.8 o 1.7.0.

+0

Faced stessa cosa con Jruby1.7, Rails 3.2.13 in ambiente Windows ma senza errori o eccezioni, solo testo garpish invece di arabo .. eseguendo 'SET JAVA_TOOL_OPT IONS = "-Dfile.encoding = UTF8" 'ha funzionato anche per me – Nimir

+0

Si è verificato un errore http://jira.codehaus.org/browse/JRUBY-7142; corretto dal 1.7.5 – ted

+0

@ted "risolto dal 1.7.5"? Sembra ancora che l'ultima versione aggiornata sia la 1.7.4 ... – buruzaemon

risposta