我运行的是ruby 1.8.7,rails 2.3.5和mysql数据库。mysql数据库中的记录看起来像是“鉴于埃及的互联网封锁,美国”杀死开关法案“令人惊讶”
但是,rails应用程序将其显示为:
在埃及欧元™的互联网屏蔽中,美国欧元œKill Switch比尔令人惊讶
我的database.yml中的mysql连接在我的environment.rb中被设置为utf8,我也尝试了使用和不显式设置
config.i18n.default_locale = :en
这些东西都不管用。任何帮助都是最好的。谢谢
编辑:澄清:
当我转到mysql命令行并查询时,我得到了以下记录:“Kill Switch Bill”令人惊讶
当我在rails应用程序中显示相同的字符串时,它看起来是这样的:在埃及的光欧元™的互联网块,美国的欧元œ杀死开关比尔?欧元令人惊讶
发布于 2011-02-17 17:22:01
Mysql数据库是用latin1的默认编码创建的,这导致了这个问题。我必须重新创建数据库,并在UTF8中重新编码现有数据。重新编码并没有完全清理它,但现在所有的新数据都以UTF8格式存储。
https://stackoverflow.com/questions/4867848
复制相似问题