Ruby on rails Ruby 1.9、Rails 2.3.9以及数据库和erb视图中的unicode字符,仍然是不可能的吗?

Ruby on rails Ruby 1.9、Rails 2.3.9以及数据库和erb视图中的unicode字符,仍然是不可能的吗?,ruby-on-rails,unicode,erb,ruby-1.9,Ruby On Rails,Unicode,Erb,Ruby 1.9,我有一个运行在Rails 2.3.9上的Rails应用程序。它在ruby 1.8.7中运行良好。我现在正在用ruby 1.9.2-head进行测试 在我尝试加载一个依赖unicode字符串的页面之前,应用程序一直可以正常加载。然后我得到了臭名昭著的编码错误: ActionView::TemplateError (incompatible character encodings: UTF-8 and ASCII-8BIT) … ActionView::TemplateError(不兼容的字符编码:

我有一个运行在Rails 2.3.9上的Rails应用程序。它在ruby 1.8.7中运行良好。我现在正在用ruby 1.9.2-head进行测试

在我尝试加载一个依赖unicode字符串的页面之前,应用程序一直可以正常加载。然后我得到了臭名昭著的编码错误:

ActionView::TemplateError (incompatible character encodings: UTF-8 and ASCII-8BIT) … ActionView::TemplateError(不兼容的字符编码:UTF-8和ASCII-8BIT)… 看起来问题在于,我从数据库中获取了一些字符串作为ASCII-8BIT

我知道Rails 3可以与ruby 1.9和unicode配合使用。我想知道是否有一个解决方案被后传到了2.3


那么,有没有办法让unicode 2.3.9 rails应用程序在ruby 1.9下工作?

如果您使用的是mysql,请使用它而不是mysql gem。在database.yml中保留“mysql”作为数据库适配器


我们正在用rails 2.3.8运行ruby 1.9.2-rc1,这解决了不兼容的字符编码问题

所以我继续写了一篇文章,修复了导致编码问题的两个基本问题:

  • ActiveRecord模型
  • Rails内置助手

请参阅。

酷。我已经开始写我在回答中提到的插件了。如果您决定尝试一下,请在github上留下一些反馈。