我開發了一個與Mysql數據庫鏈接的Rails應用程序。應用程序和數據庫UTF-8編碼但仍然是例外
在軌控制檯
irb(main):002:0> Rails.application.config.encoding
=> "utf-8"
我的數據庫
我用Scalingo部署(樣的Heroku的),我的database.yml樣子:
"production"=>{"adapter"=>"mysql", "database"=>"****", "pool"=>5, "timeout"=>10000, "encoding"=>"utf8", "username"=>"****", "password"=>"<password>", "port"=>30324, "host"=>"****"}}
我的應用程序和我的數據庫配置良好,但寫在名字上:'é'db,例如它返回:
=> #<Node id: 21, name: "\xC3\xA9", created_at: "2015-05-18 06:43:29", updated_at: "2015-05-18 06:43:29">
如何解決這個問題?
SOLUTION
與mysql2取代MySQL的寶石,也是適配器mysql2
什麼是異常? node.name.encoding的結果是什麼?你有config/database.yml中的「encoding:utf8」嗎? –
例外:從ASCII-8BIT到UTF-8的「\ xC3」。 node.name.encoding =>#<編碼:ASCII-8BIT>。 是的,如果用「encoding:utf8」填充我的.yml文件 – clement