日期:2014-05-16  浏览次数:20383 次

Rails3数据库读取数据的乱码问题
主要参考了这里http://runupwind.iteye.com/blog/1001758

问题描述:
在应用中,向数据库添加了几个中文值,页面读取并显示的时候,发现报错,错误信息
incompatible character encodings: UTF-8 and ASCII-8BIT

参考上面链接中的文章,解决过程记录如下:
首先 在页面上调用
article.name.encoding 
显示的是
ASCII-8BIT
说明数据库读出的文字编码格式不是utf8
于是我到database.yml中发现,竟然粗心的没有设置编码格式,于是添加上
development:
  adapter: mysql
  host: localhost
  encoding: utf8

但是仍然无效

查资料得知  rails3 默认使用mysql adapter是mysql2. 我用的依然是mysql
gem install mysql2

成功(比其那些windows用户还是爽了一下,这里没有遇到问题,很顺利)
顺便把database.yml 修改
development:
  adapter: mysql2
  host: localhost
  encoding: utf8

重启rails的server,运行成功,问题解决