Перенос данных, содержащих русские буквы между MySQL разных версий

Автор: Fix Xxer (PHP Club)

Перенос данных из My SQL 4.0- в My SQL 4.1+

Внимание! При правильно скомпилированном My SQL это не нужно, однако на Windows, где скомпилировать затруднительно, крайне рекомендуется использовать приведенный метод для предотвращения преобразования кодировки текста в latin1.

1) Сохранить базы с помощью mysqldump.
2) Обновить My SQL.
3) Залить базы с помощью "mysql -u user -p --default-character-set=cp1251 < dump.sql" (или установить default-character-set=cp1251 для mysql в my.cnf/my.ini, см. "установку" выше).

Перенос данных из MySQL 4.1+ в My SQL 4.0-

По умолчанию mysqldump пишет в кодировке UTF8 и использует "SET NAMES ..." для указания этого. Т.к. MySQL 4.0- не поддерживает UTF8, нужно создавать дамп базы данных с помощью "mysqldump --default-character-set=cp1251". Однако, не думайте, что это единственная проблема на данном пути, но этот FAQ их не рассматривает, т.к. посвящен только проблемам с русским текстом. Смотрите документацию к mysqldump на предмет параметра --compact.

Дополнительно: