ruby-on-rails - Ruby on Rails 3,不兼容的字符编码:带有i18n的UTF-8和ASCII-8BIT

标签 ruby-on-rails ruby-on-rails-3 utf-8 internationalization character-encoding

我在夫妇Rails 3.0.1,Ruby 1.9.2和我的网站本地化方面遇到了一些麻烦。

问题很简单,在 View 中我有类似的东西:

f.input :zip_code, :label => I18n.t('labels.zip_code')

和es.yml文件:
es:
  labels:
    zip_code: "Este código postal no es valido."

en.yml文件没有任何麻烦(它是纯ASCII),但是当网站设置为i18n.locale == 'es'时,出现此错误:
incompatible character encodings: UTF-8 and ASCII-8BIT

我已经寻找了很长一段时间,但是没有找到使用我的UTF-8翻译文件的方法。

有人知道如何使它起作用吗?

谢谢你的帮助。

最佳答案

好吧,经过几个小时的搜索后问题解决了...

我的代码中实际上有两个错误。第一个是文件编码错误,第二个是MySQL数据库配置问题。

首先,为了解决由MySQL引起的错误,我使用了这两篇文章:

http://www.dotkam.com/2008/09/14/configure-rails-and-mysql-to-support-utf-8/

http://www.rorra.com.ar/2010/07/30/rails-3-mysql-and-utf-8/

其次,为了解决文件编码问题,我在config / environment.rb中添加了这两行

Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8

希望这会帮助某人:)

关于ruby-on-rails - Ruby on Rails 3,不兼容的字符编码:带有i18n的UTF-8和ASCII-8BIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4188677/

相关文章:

sql - Ruby on Rails 最佳设计模式而不是单表继承?

ruby-on-rails - 无法为模型创建 FactoryGirl 的工厂

ruby-on-rails - Formtastic::FormBuilder的未定义方法 'actions'

php - Mysql UNIQUE KEY 约束 - a 和 å 被视为相同的字符

java - 在 MySQL 数据库中插入行之前从字符串中删除二进制代码

Java jaxb utf-8/iso 转换

ruby-on-rails - 辅助方法或模型或 Controller ?

ruby-on-rails - 如何将 Rails 应用程序转换为 gem?

ruby-on-rails - Rails 3 ActiveRecord API : . 构建方法

ruby-on-rails - 如何停止heroku服务器?