0

在我的 rails 应用程序中,我过去从 rails 3.0 升级到 rails 3.1,现在我的数据库中存储了多种语言并遇到了:

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

所以西班牙语看起来像这样:“TU SERER QUERIDOS ESTRA\xC3\x83\xC2\xB1AN TU PRECENSIA”

那么将数据保存为 UTF-8 的好方法是什么?而不是扼杀我的观点?(我想我现在只有大约 40 个这样的错误,所以删除和重新输入数据也不错。

我也在运行 mysql gem 而不是 mysql2 gem,我在某处读过,但是在尝试安装该 gem 时,应用程序崩溃了。因此,一个简单的解决方法将不胜感激。

4

1 回答 1

0

我强烈建议您迁移到mysql2. 这不是解决方法,而是正确的解决方案。mysql gem 的开发于 2009 年停止,目前它不能很好地处理编码。顺便说一句,你也从 Ruby 1.8 切换到 1.9 了吗?Ruby 1.9 对字符串编码进行了重大更改,迁移回 1.8 可能会解决您的问题。但是再次 - 将您的 gem 更改为 mysql2。出于多种原因。

于 2012-06-15T08:26:01.600 回答