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

Наброски имеющие автора (ссылка обязательна+подпись)

Модераторы: Dame-danners, LieoLinneos, Longipongeoos

Аватар пользователя
Longipongeoos
Сообщений: 191
Зарегистрирован: 12 апр 2017, 16:50

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

Сообщение Longipongeoos » 24 авг 2017, 10:46

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

Код: Выбрать все

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]

Типа:

Код: Выбрать все

ALTER TABLE `mydatabase`.`auth_group_permissions` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Ну а если табличек много, то MySQL сервер версии 5.0 и выше, умеет выполнить вот такой вот запрос:

Код: Выбрать все

SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') as sqlcode
  FROM `information_schema`.`TABLES` t
 WHERE 1
   AND t.`TABLE_SCHEMA` = 'db_name'
 ORDER BY 1

Где вместо db_name необходимо поменять на реальное имя базы данных.

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

Код: Выбрать все

ALTER TABLE `mydatabase`.`auth_group_permissions` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `mydatabase`.`auth_group` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
... много-много строчек ...
ALTER TABLE `mydatabase`.`auth_message` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Далее копируем выданные скрипты и выполняем его в окошке SQL запросов.
Результатом будет изменение кодировки во всех таблицах MySQL базы данных.
Источник: http://likbezz.ru/viewtopic.php?t=198

Вернуться в «Авторские наброски / Outline More»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 1 гость