我有这种情况。
电影名称:
$ 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 一起使用。
任何人都知道问题可能是什么?