MySQL muda UTF-8 para ASCII-8BIT
Eu tenho esse cenário.
Um título de filme:
$ title = "La leyenda de Osaín"
Com esta codificação:
$ title.encoding.name
>> UTF-8
Em seguida, salve-o no banco de dados.
$ movie = Movie.create!(:title => title)
Então eu tento pegar o filme.
$ Movie.find(movie.id).title.encoding.name
>> "ASCII-8BIT"
$ Movie.find(movie.id).title
>> "La leyenda de Osa\xC3\xADn"
Todos os outros filmes que não contenham caracteres especiais, comoí
eû
.
Este é o meu arquivo database.yaml:
development:
adapter: mysql
database: development
username: linus
password: my_password
socket: /tmp/mysql.sock
encoding: UTF8
Estou recebendo o tipo certo de dados ao usarforced_encoding
.
$ Movie.find(movie.id).title.force_encoding("UTF-8")
>> "La leyenda de Osaín"
Estou usando o Rails 3.0.5.rc1 com o MySQL 14.14.
Alguém sabe qual pode ser o problema?