У меня есть этот сценарий.
Название фильма:
$ 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.
Кто-нибудь знает, в чем может быть проблема?