Не могу узнать, где перепуталась моя строковая кодировка Ruby 1.9
Вопрос
Где-то на пути от БД до приложения это:
родовое словопревращается в это:
родовое словоЯ использую Ramaze + Rack + MySQL.У меня настроен плагин force_encoding, поэтому кодировка строки - UTF-8.Если я просматриваю запись в оболочке базы данных, все выглядит нормально.Кодировка по умолчанию в таблице - utf8, а само поле - «текст».Кодировка моего подключения к базе данных - utf8.Кроме того, на моем Macbook все отлично работает.Это на моем сервере Ubuntu, что он искажается.Я надеюсь, что кто-то узнает это и скажет мне, что юникод превращается в ASCII, а затем обратно или что-то в этом роде.
Решение
Скорее всего, у вас другой язык.
Запустите команду locale
на обоих и посмотрите, в чем разница.
Я предполагаю, что вы видите проблему, когда получаете результаты из MySQL, что является общей проблемой для 1.9 согласно результатам Google: http://www.google.com/search?q=mysql+ruby+1.9+encoding .