Character encoding 字符编码jruby和普通ruby

Character encoding 字符编码jruby和普通ruby,character-encoding,jruby,flash-message,Character Encoding,Jruby,Flash Message,我使用引导闪存消息Gem和jruby 1.7.0,但闪存消息中的外来字符和umlaut有问题 当我使用像ruby-1.9.3这样的“普通”ruby时,一切正常。闪烁信息。检查输出: “Felix Meier aétéinscrit au sous Group‘管理员’。” 但在jruby-1.7.0中,同样的代码生成: “Felix Meier a\xC3\xA9t\xC3\xA9 enlev\xC3\xA9 du sous group'Administrators.”我得到一个错误 Actio

我使用引导闪存消息Gem和jruby 1.7.0,但闪存消息中的外来字符和umlaut有问题

当我使用像ruby-1.9.3这样的“普通”ruby时,一切正常。闪烁信息。检查输出: “Felix Meier aétéinscrit au sous Group‘管理员’。”

但在jruby-1.7.0中,同样的代码生成: “Felix Meier a\xC3\xA9t\xC3\xA9 enlev\xC3\xA9 du sous group'Administrators.”我得到一个错误

ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT):
所以问题是:我做错了什么,jruby做错了什么,还是引导闪存消息Gem出了问题

我在控制台上尝试了一些东西,但无法重现问题(表明Flash消息是问题所在?)

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"