MySQL Workbench не соблюдает настроенную кодировку utf8mb4

0

Я слежу за этим руководством по настройке сервера/базы данных MySQL для unicode, надеясь настроить набор символов по умолчанию для utf8mb4 и сопоставление с utf8mb4_unicode_ci

Как и то, что указано в учебнике, у меня есть следующие параметры, применяемые в моем.ini файле, расположенном в C:\ProgramData\MySQL\MySQL Server 5.7:

    [client]
    default-character-set = utf8mb4

    [mysql]
    default-character-set = utf8mb4

    [mysqld]
    character-set-client-handshake = FALSE
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci

При выполнении этого запроса в MySql Workbench:

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'

Он не показывал системные переменные, которых я ожидал бы, поэтому изначально мне показалось, что я неправильно сконфигурировал сервер:

Выходной файл MySql Workbench

character_set_client       utf8
character_set_connection   utf8
character_set_database     utf8mb4
character_set_filesystem   binary
character_set_results      utf8
character_set_server       utf8mb4
character_set_system       utf8
collation_connection       utf8_general_ci
collation_database         utf8mb4_unicode_ci
collation_server           utf8mb4_unicode_ci

Однако, когда я использую собственный клиент командной строки MySQL, я вижу, чего бы я ожидал:

+--------------------------+--------------------+
| Variable_name            | Value              |
+--------------------------+--------------------+
| character_set_client     | utf8mb4            |
| character_set_connection | utf8mb4            |
| character_set_database   | utf8mb4            |
| character_set_filesystem | binary             |
| character_set_results    | utf8mb4            |
| character_set_server     | utf8mb4            |
| character_set_system     | utf8               |
| collation_connection     | utf8mb4_unicode_ci |
| collation_database       | utf8mb4_unicode_ci |
| collation_server         | utf8mb4_unicode_ci |
+--------------------------+--------------------+

Почему MySql Workbench не учитывает настройки конфигурации, как это делает клиент командной строки?

MySql: Windows/5.7.21
MySql Workbench: Windows/6.3.10

Теги:
mysql-workbench
character-set

1 ответ

1
Лучший ответ
  1. MySQL Workbench не читает ini файл и, следовательно, не использует никаких значений в нем. Как это сделать, учитывая, что он может одновременно подключаться ко многим серверам?

  2. MySQL Workbench использует фиксированную кодировку для наборов символов клиента и соединения (utf-8).

  3. До версии 8.0.11 RC MySQL Workbench фактически использовал кодировку utf8mb3. Начиная с этой версии, он переключился на utf8mb4.

  • 0
    Полезно знать - интересно, что этого нет в примечаниях к выпуску Workbench
  • 1
    Ты прав. Каким-то образом этот переключатель проскочил. Мы включим это в заметки о выпуске GA.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню