metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-04-13 11:08 am

От жеж вуду

Решил разобраться с внутренним устройством баг-трекера на предмет его миграции с "автоматически инсталлированного под виндой" на "поставленный вручную на дебиане".
Обнаружил, что автоматический инсталлятор под виндой создал базу в mysql с кодировкой latin1, а рубирельсовое приложение при этом работает в кодировке utf8. Дамп базы вроде в utf8 получается, если поставить mysqldump кодировку latin1, но подгрузить этот дамп в utf8 базу у меня не выходит.

PS: фак мой мозг. Поставил для базы данных с default character set utf8 в конфиге рельсов encoding: latin1 - кодировка исправилась. Хер знает, что они там делают.

PPS: замена всех latin1 на utf8 в дампе, установка --default-character-set=utf8 при импорте таки помогла - новая база стала в правильной кодировке.

[identity profile] black-angel-by.livejournal.com 2010-04-13 01:49 pm (UTC)(link)
- кодировка в котрой хранятся данные
- кодировка, в которой отдаётся аппликухе (SET NAMES)
- и кодировка в которой отдаёт апликуха.

Потёряться тут конечно можно, но лучше по возможности держать всё в одной кодировке :)

Гм, как то использовал команду для конвертации таблицы из одной кодировки в другую. ИМХО более правильный способ.

[identity profile] metaclass.livejournal.com 2010-04-13 01:58 pm (UTC)(link)
Я все равно массово базы мигрирую тут, так что надо уже и кодировки заодно пофиксить.