Вообще то эту статью я писал для пользователей CMS InstantCMS, и называлась она "Конвертирование баз SQL при переходе на версию InstantCMS 1.10". Однако CMS меняются, происходит миграция с одной CMS на другую, а принципы конвертации баз пока остаются прежними, поэтому статья будет полезной.
При миграции движка InstantCMS с версии 1.9 на версию 1.10 предлагается сразу конвертор базы данных SQL. У многих миграция с кодировки 1251 на UTF8 прошла без проблем, но у меня вылезали постоянно глюки. То не было категорий с статьями, то категории были, но вместо статей выходило белое поле. В общем решил я, чтобы была чистая установка. Вот что сделал я. В первую очередь необходимо удалить все левые расширения: модули, плагины и т.д. Также удаляются файлы им принадлежащие. Устанавливается по умолчанию дефолтный шаблон. Далее делается бэкап базы данных SQL и файлов. Для файлов удобно сделать поддомен и скопировать файлы туда. Удаляем из директории установленные ранее файлы и папки и оставляем только Imaje, Upload и, конечно, папку поддомена. Создаем новую базу SQL. Устанавливаем InstantCMS версии 1.10, цепляя при установке новую базу данных. После установки удаляем папки Install и Migrate. Настраиваем сайт. Шаблон должен стоять дефолтный (который идет вместе с CMS). Заходим на панели управления сайтом в phpMyAdmin.
Выбираем предыдущую базу данных - видим, что она в кодировке 1251. Справедливости ради стоит заметить, что в моем случае использовалась промежуточная база данных после кодировки во время миграции, но сути дела это не меняет, так как при миграции многие таблицы остались в кодировке 1251, а не в UTF8.
Выбираем таблицу, для импортирования ее в новую базу. При импортировании напрямую старой базы в новую, у меня вылезла ошибка, поэтому пришлось делать импорт потаблично. Необходимо выставить показать от 0 до 100. Но я выставлял от 0 до 1000 - зависит от мощности хостинга и вашей локальной машины, с которой вы заходите в панель управления. Если выставить слишком много строк на обработку сервер может зависнуть, с другой стороны - чем больше строк, тем быстрее можно все перекинуть.
Выделяем все строки. Если вы выбрали много строк, то сервер сам может разбить на страницы. Важно, что необходимо выделять все, так как может экспортироваться только видимая часть.
Вверху в списке действий выбираем "Экспорт". Лучше экспортировать таблицу на сервере - быстрее.
Далее выбираем новую базу данных.
Выбираем название таблицы, которую мы экспортировали из старой базы данных.
Выбираем в операциях импорт и импортируем с сайта таблицу из старой базы. Итак, все таблицы. Процесс трудоемкий, но не бесконечный.
Сопоставление phpMyAdmin должно быть utf8_general_ci.
Проверяем таблицы в новой базе данных. Если есть таблицы не в кодировке utf8_general_ci, то выбираем таблицу, далее выбираем "Операции".
Выставляем сравнение utf8_general_ci и нажимаем "Ок". После всего этих операций все работает нормально.