Я нашел один трюк в Интернете (так что это не мое, но я забыл, откуда я это взял), используя дамп с отсутствующей кодировкой, а затем повторно импортируя этот «пустой» дамп снова с правильной кодировкой.
Помогает, только если все данные в таблицах действительно в правильной кодировке (для повторного импорта)
Если нет, вы потеряете данные: каждое значение поля будет усечено после первого недопустимого закодированного символа.
Я получил это для & szlig; персонаж. До сих пор не нашел способ обойти это. Я думаю, должно быть выполнимо с чем-то вроде «игнорировать символы работы» или схожим ...
Примеры шагов для таблицы MsSQL на латинице 1 с содержимым в кодировке utf-8 (для оболочки linux):
mysqldump --opt --quote-names --skip-set-charset --default-character-set=latin1 mydatabase > /tmp/dump.sql
mysql --default-character-set=utf8 mydatabase < /tmp/dump.sql