我有这种情况.
电影名称:
$title = "La leyenda de Osaín"
使用此编码:
$title.encoding.name
>> UTF-8
然后我将其保存到数据库中.
$movie = Movie.create!(:title => title)
然后我试着看电影.
$Movie.find(movie.id).title.encoding.name
>> "ASCII-8BIT"
$Movie.find(movie.id).title
>> "La leyenda de Osa\xC3\xADn"
所有其他电影的作品不包含í和û等特殊字符.
这是我的database.yaml文件:
development:
adapter: mysql
database: development
username: linus
password: my_password
socket: /tmp/mysql.sock
encoding: UTF8
使用forced_encoding时,我得到了正确的数据.
$Movie.find(movie.id).title.force_encoding("UTF-8")
>> "La leyenda de Osaín"
我正在使用Rails 3.0.5.rc1和MySQL 14.14.
谁知道问题可能是什么?