Перейти к основному контенту

Как изменить кодировку для всех таблиц в MySQL

Вы установили MySQL, создали таблицы и наполнили их данными, а в ответ отображается «абракадабра»? Дело в неправильно указанной кодировке. Для того чтобы данные отображались корректно, нужно изменить параметр кодировки для каждой таблицы.

В базе данных могут быть сотни таблиц, поэтому воспользуйтесь следующим решением для оперативной смены кодировок:

  1. 1.

    Войдите в phpMyAdmin и выберите необходимую базу данных из списка, кликнув по её названию:

    Как изменить кодировку для всех таблиц в MySQL 1

  2. 2.

    В столбце «Сравнение» отображается сопоставление кодировки базы данных:

    Как изменить кодировку для всех таблиц в MySQL 2

  3. 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. 4.

    Перейдите в раздел SQL:

    Как изменить кодировку для всех таблиц в MySQL 3

  5. 5.

    Вставьте запрос из шага 3 в окно запроса MySQL и выполните его, нажав Вперёд. В примере ниже мы сформировали список запросов для всех таблиц базы данных, который нужно выполнить, чтобы изменить кодировку на utf8 и на сопоставление кодировки utf8_general_ci.

    Как изменить кодировку для всех таблиц в MySQL 4

  6. 6.

    В качестве ответа на запрос появится список запросов для смены кодировки каждой таблицы. Раскройте вкладку Параметры, установите чекбокс напротив пункта Полные тексты и нажмите Вперёд:

    Как изменить кодировку для всех таблиц в MySQL 5

  7. 7.

    Скопируйте запросы:

    Как изменить кодировку для всех таблиц в MySQL 6

  8. 8.

    Вернитесь на вкладку SQL. Вставьте запросы в окно запроса MySQL и нажмите Вперёд:

    Как изменить кодировку для всех таблиц в MySQL 7

Готово, вы успешно изменили кодировку во всех таблицах базы данных.

Как изменить кодировку для всех таблиц в MySQL 8

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 1 из 1