Не могу узнать, где перепуталась моя строковая кодировка Ruby 1.9

StackOverflow https://stackoverflow.com/questions/2369619

Вопрос

Где-то на пути от БД до приложения это:

родовое слово

превращается в это:

родовое слово

Я использую 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 .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top