Самый простой способ восстановить кодировку и сопоставление в базе данных mysql? - PullRequest
1 голос
/ 06 июля 2011

Поскольку настройки по умолчанию для mysql не совсем удобны для Unicode, может случиться так, что база данных с поврежденной кодировкой может случиться довольно часто.

Обычно вы просто хотите перенастроить ее на использование utf8 набора символов и utf8_unicode_cicollation.

Какая самая простая команда сделать это для данной базы данных?

Предупреждение: не публиковать ссылки на непроверенные сценарии, я протестировал по крайней мере 5 из них (написанных на bash / perl/ php / python) и все они не смогли восстановить базу данных, где параметры сортировки были установлены правильно на уровне базы данных и таблицы, но не на уровне столбца.

1 Ответ

1 голос
/ 06 июля 2011

Мне удалось самостоятельно написать решение и опубликовать по адресу:

https://gist.github.com/1068021

Примечания:

  • mysqldump borken, даже если указать, что он не включает CHARSET, он включит их, если он установлен на уровне столбца.
  • это решение не предполагает использование кодировки по умолчанию на уровне сервера mysql, поэтому оно устанавливает его на уровне базы данных и сбрасывает его на значения по умолчанию для уровня таблицы и столбца.

Поток бесплатно, чтобы публиковать сообщения об ошибках или исправления, я постараюсь их быстро решить.

...