Инструменты пользователя

Инструменты сайта

Загрузка не удалась. Возможно, проблемы с правами доступа?

linux:command-mysql-encoding

Кодировки и mysql или как перевести сервер/базу в нужную кодировку

Кодировка сервера

По умолчанию, mysql работает в latin1. Исправить это:

sudo leafpad /etc/mysql/my.cnf

Там:

  • в секции client (после строки «['client']») прописываем
default-character-set=utf8
  • в секции mysqld (после строки «['mysqld']») прописываем
character_set_server=utf8
collation_server=utf8_unicode_ci

Для mysql8:

[mysqld]
init_connect='SET collation_connection = utf8mb4_unicode_ci'
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[client]
default-character-set = utf8mb4

После чего перегружаем mysql:

sudo service mysql stop 
sudo service mysql start

Кодировка базы

На базе выполняем запрос:

SHOW VARIABLES LIKE '%char%';

#или так
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

Он может показать, что база, например, в Latin1. Надо ее перевести в utf8. Через pma - Операции - сравнения. Там выбираем требуемую кодировку… и профит.

linux/command-mysql-encoding.txt · Последние изменения: 2023/03/13 16:08 (внешнее изменение)