我的Rails应用程序在mysql数据库中工作,当我从Rails 2.8、Ruby 1.8和mysql gem切换到Rails 3.0.7、Ruby 1.9.2和mysql2 gem时,我的页面突然出现了smartquotes(花引号)和em破折号等,所有这些看起来都像胡言乱语。
我认为这与UTF-8有关,但我不知道如何准确定位
以下是我所知道的:
(1) config/database.yml
具有以下功能:
development:
adapter: mysql2
encoding: utf8
(2) config/application.rb
具有以下功能:
config.encoding = "utf-8"
不知道从那里去哪里。
有什么建议吗?
您可以通过做两件事将其缩小到数据库与视图:
-
rails控制台#,然后测试ActiveRecord对象是否具有正确的数据。
-
在浏览器中查看source,以查看生成的源是否输入了正确的字符。
稍后:
这可能是mysql2-gem、Rails 3.0.3和";不兼容字符编码";错误https://github.com/brianmario/mysql2/issues/124
甚至可能是这里的猴痘:http://www.rorra.com.ar/2010/07/30/rails-3-mysql-and-utf-8/