Как конвертировать кодировку базы данных MySQL
Нужно изменить кодировку базы данных? В этой статье разберем как быстро изменить кодировку для баз MySQL через SQL-запросы.
Пройдемся отдельно как задать новую кодировку для базы, таблицы и отдельных полей таблицы.
Также советуем перед изменениями сделать резервную копию БД, чтобы в случае чего вернуть файлы к рабочему состоянию.
Конвертация кодировки для всей базы
Перед выполнение команд следует подключится серверу MySQL по SSH. После для изменения кодировки базы используем команду:
ALTER DATABASE `newbd` COLLATE utf8_danish_ci
где `newbd` - название базы данных;
utf8_danish_ci - кодировка, которую необходимо установить.
Чтобы проверить установленную кодировку базу, вводим в консоль команду:
SHOW VARIABLES;
На выводе команды получим все конфигурации для указанной базы данных, ищем поле “collation_database” в нем указана кодировка.
Изменение кодировки для таблицы базы данных
Для таблицы кодировка меняется похожим способом, но уже через команду ALTER TABLE:
ALTER TABLE `название_таблицы` COLLATE utf8_danish_ci ;
где `название_таблицы` - название таблицы, для которой меняем кодироку;
и utf8_danish_ci - желаемая кодировка.
Изменение кодировки для полей таблицы
Если есть необходимость, можно изменять кодировку даже в отдельных полях. Чтобы это сделать, используем ALTER TABLE после задаем название таблицы, поле, тип данных и на какую кодировку меняем:
ALTER TABLE `название_таблицы` CHANGE `название_поля` VARCHAR(40) CHARACTER SET cp1251 COLLATE cp1251_general_ci;
Где CHARACTER SET CHARACTER меняет набор символов базы данных по умолчанию, а COLLATE параметры сортировки базы данных по умолчанию.