Как изменить кодировку базы данных MySQL

Пошаговая инструкция по смене кодировки базы данных через phpMyAdmin и SQL-запросы.

При переносе сайтов или работе с устаревшими проектами нередко возникает проблема некорректного отображения символов. Чаще всего это связано с неправильной кодировкой базы данных. Ниже рассмотрены несколько простых способов смены кодировки MySQL: через phpMyAdmin и SQL-запрос.

База данных — это совокупность взаимосвязанных таблиц, в которых хранится вся информация вашего сайта.


Смена кодировки через phpMyAdmin и текстовый редактор

Сделайте экспорт базы данных через phpMyAdmin на локальный компьютер.

file

Откройте экспортированный SQL-файл в текстовом редакторе (например, Notepadqq или Notepad2) и преобразуйте его кодировку в UTF-8 без BOM.

Импортируйте файл обратно через phpMyAdmin в новую базу данных.


Смена кодировки через SQL-запрос

Войдите в phpMyAdmin → выберите нужную базу данных → вкладка «SQL» и выполните следующий запрос:

file

ALTER TABLE `db_name`.`table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Примечание

Запрос изменяет кодировку указанной таблицы на выбранную (в данном случае — utf8).

Чтобы конвертировать кодировку всех таблиц сразу, используйте следующий запрос:

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 t.`TABLE_SCHEMA` = 'ИМЯ_БАЗЫ_ДАННЫХ'
ORDER BY 1;

Примечание

В параметре ИМЯ_БАЗЫ_ДАННЫХ укажите название своей базы.

Скопируйте полученные строки и выполните их в SQL-консоли phpMyAdmin.


Помощь

Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!

Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам