НАЗВАНИЯ
SET NAMES
указывает, какой набор символов будет использовать клиент для отправки операторов SQL на сервер. Это означает, что SET NAMES 'cp1251'
сообщает серверу «будущие входящие сообщения от этого клиента находятся в наборе символов cp1251». Это также указывает набор символов, который сервер должен использовать для отправки результатов клиенту.
SET CHARACTER SET
SET CHARACTER SET
аналогично SET NAMES
, но устанавливает character_set_connection
и collation_connection
на character_set_database
и collation_database
. SET CHARACTER SET x
оператор эквивалентен этим трем операторам:
SET character_set_client = x;
SET character_set_results = x;
SET collation_connection = @@collation_database;
Нужно ли вводить обе команды, чтобы MySQL UTF-8 знал? Или достаточно SET NAMES?
SET NAMES достаточно.