У меня есть таблица MySQL, в которой есть несколько столбцов с набором символов latin1. Из-за проблем с драйверами столбцы фактически содержат данные utf8. Я хочу оставить данные как есть, но изменить набор символов столбца на UTF8.
Каждое решение, которое я исследовал, выполняет две команды изменения таблицы, меняя столбец на двоичный, а затем возвращаясь к предыдущему типу с новым набором символов.
В нескольких таблицах в нескольких базах данных есть несколько столбцов, поэтому этот подход будет довольно медленным.
Есть ли лучший способ сделать это?
Самый быстрый способ - это просто выполнить mysqldump и импортировать с определенными установленными флагами. Проверьте этот блог: http://blog.hno3.org/2010/04/22/fixing-double-encoded-utf-8-data-in-mysql/
Некоторые другие альтернативные методы перечислены здесь: http://en.gentoo-wiki.com/wiki/Convert_latin1_to_UTF-8_in_MySQL