Настройки mysql отвечающие за кодировки:
character_set_client — кодировка, в которой данные будут поступать от клиента
character_set_connection — кодировка по умолчанию для всего, что в рамках соединения не имеет кодировки
character_set_database — кодировка по умолчанию для баз
character_set_filesystem — кодировка для работы с файловой системой (LOAD DATA INFILE, SELECT … INTO OUTFILE, и т.д.)
character_set_results — кодировка, в которой будет выбран результат
character_set_server — кодировка, в которой работает сервер
character_set_system — кодировка, в которой задаются идентификаторы MySQL, всегда UTF8
character_sets_dir — папка с кодировками
Их значения можно посмотреть запросом: SHOW VARIABLES LIKE 'char%';
Для сравнения:
collation_connection — сравнение при соединении.
collation_database — сравнение используемое в БД
collation_server — сравнение, которое используется на сервере
Их можно посмотреть запросом:
SHOW VARIABLES LIKE 'collation%';
Запрос SET NAMES ‘x’ эквивалентен следующим трем операторам:
mysql SET character_set_client = x;
mysql SET character_set_results = x;
mysql SET character_set_connection = x;
Запрос SET CHARACTER SET ‘x’ эквивалентен следующим трем операторам:
mysql SET character_set_client = x;
mysql SET character_set_results = x;
mysql SET collationjsonnection = @@collationjiatabase;
Уведомление: Технарь » Blog Archive » Просто о кодировке MySQL. Как избежать всех ошибок.