Nikolay A. Fetisov пишет:
Как обычно - понять, в чём проблема, и что нужно получить. Далее
определиться с нужными шагами.

В общем случае, надо получать dump надо в той же кодировке
(неправильной!), которая указана в базе. Иначе умный MySQL будет
выполнять неизвестно какие преобразования с непонятными последствиями.
Затем в полученном dump'е надо переправить _записи_ о кодировке таблиц
на правильные. Указать в заголовке dump'а правильный SET NAMES, и
залить всё обратно.

В частных случаях может потребоваться ещё править записи внутри dump'а,
если там вдруг окажутся недопустимые для кодировки символы.
Я посмотрел на сервере, на котором я уже проделывал эту операцию.
Вот строки, которые относятся к кодировкам из дампа работающей базы.
/*!40101 SET NAMES utf8 */;
SET character_set_client = utf8;
) ENGINE=MyISAM AUTO_INCREMENT=2032 DEFAULT CHARSET=cp1251;

То есть единственное, что мне нужно переправить это
) ENGINE=MyISAM AUTO_INCREMENT=2032 DEFAULT CHARSET=utf8;
на ) ENGINE=MyISAM AUTO_INCREMENT=2032 DEFAULT CHARSET=cp1251;

Можно ли это сделать sql запросом, чтобы дампы не делать?

_______________________________________________
Sysadmins mailing list
Sysadmins@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/sysadmins

Ответить