Задать вопрос
@immelnikoff
Изучаю БД

В чем отличие character_set_client от character_set_connection?

Вопрос 1: Допустим, character_set_client = cp1251. Это означает, что сервер MySQL будет ожидать от клиента текст sql-запросов в кодировке cp1251?
Вопрос 2: Теперь пусть character_set_connection = utf8mb3 и пусть требуется в sql-запросе выполнить сравнение строки с полем type таблицы animals. При этом поле type таблицы animals имеет кодировку koi8r. Запрос, например, такой:
SELECT id FROM animals WHERE type = 'кошка'.
MySQL-сервер получает этот запрос в кодировке cp1251, затем переводит поле записи type из кодировки koi8r в кодировку utf8mb3 и строку 'кошка' из кодировки cp1251 в кодировку utf8mb3 и уже только после этого производит сравнение (согласно установленному collation)?
Вопрос 3: В ODBC-драйвере в строке соединения прописано
5b100a31930c4280571779.jpeg
Строка "STMT=SET CHARACTER SET cp1251;" задает кодировку клиента (character_set_client)? А если она отсутствует, то будет будет действовать значение по умолчанию, заданное character_set_client = cp1251 в my.ini?
Я всё правильно понимаю?
  • Вопрос задан
  • 256 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы