1

Bootstrap Flash Message Gem と jruby 1.7.0 を使用していますが、Flash メッセージの外国語の文字とウムラウトに問題があります。

ruby-1.9.3 のような「通常の」ruby を使用すると、すべて正常に動作します。flash_messages.inspect 出力: "Felix Meier a été inscrit au sous-groupe 'Administrators'."

しかし、jruby-1.7.0 ではまったく同じコードが生成されます。エラーが発生します

ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT):

質問は、私が何か間違ったことをしているのでしょうか、jruby が何か間違ったことをしているのでしょうか、それとも Bootstrap Flash Message Gem が問題なのでしょうか?

コンソールでいくつかのことを試しましたが、問題を再現できませんでした (Flash Message が問題であることを示していますか?):

jruby-1.7.0 :005 >   q="Felix Meier a été inscrit au sous-groupe 'Administrators'"
 => "Felix Meier a été inscrit au sous-groupe 'Administrators'" 
jruby-1.7.0 :006 > CGI.unescape(q)
 => "Felix Meier a été inscrit au sous-groupe 'Administrators'" 
jruby-1.7.0 :007 > CGI.unescape(q).encoding.name
 => "UTF-8" 
jruby-1.7.0 :008 > CGI.unescape(q).valid_encoding?
 => true 
jruby-1.7.0 :009 > r="Felix Meier a \xC3\xA9t\xC3\xA9 enlev\xC3\xA9 du sous-groupe 'Administrators'"
 => "Felix Meier a été enlevé du sous-groupe 'Administrators'" 
jruby-1.7.0 :010 > CGI.unescape(r)
 => "Felix Meier a été enlevé du sous-groupe 'Administrators'" 
jruby-1.7.0 :011 > CGI.unescape(r).encoding.name
 => "UTF-8" 
4

0 に答える 0