Изменение кодировки всех таблиц в MySQL
Иногда в MySQL вместо данных отображается бессвязный набор символов. Это связано с неверно установленной кодировкой. Чтобы данные отображались корректно, нужно настроить верную кодировку для каждой таблицы. Ниже мы покажем, как это сделать сразу для всех таблиц.
1. Авторизуйтесь в phpMyAdmin.
2. Кликните по названию нужной базы данных:
В столбце «Сравнение» вы увидите кодировки, установленные для базы данных:
3. Скопируйте запрос:
SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET нужная_кодировка COLLATE сопоставление;') as sqlcode
FROM `information_schema`.`TABLES` t
WHERE 1
AND t.`TABLE_SCHEMA` = 'имя_базы'
ORDER BY 1
Где:
- нужная_кодировка — кодировка, которую вы хотите применить,
- сопоставление — нужное сопоставление кодировки (шаг 2 — столбец «Сравнение»),
- имя_базы — имя базы данных.
4. Откройте раздел SQL:
5. В окно запроса MySQL добавьте запрос из шага 3 и нажмите Вперёд, чтобы выполнить его:
Пример запроса для всех таблиц базы данных, чтобы изменить кодировку на utf8 и сопоставление кодировки на utf8_general_ci
6. В ответ на запрос отобразится список запросов для смены кодировки каждой таблицы. Перейдите на вкладку Параметры и галочкой отметьте пункт «Полные тексты». Затем кликните Вперёд:
7. Скопируйте запросы:
8. Перейдите на вкладку SQL и добавьте запросы в окно запросов MySQL. Затем нажмите Вперёд:
Готово, вы изменили кодировку во всех таблицах MySQL.