我在夫妇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/