mysql工作台未配置字符集utf8mb4

mlnl4t2r  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(461)

我一直在学习如何为unicode设置mysql服务器/数据库的教程,希望将默认字符集设置为 utf8mb4 ,以及 utf8mb4_unicode_ci 与教程中指定的内容一样,我在位于c:\programdata\mysql\mysql server 5.7的.ini文件中应用了以下设置:

[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工作台输出

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工作台不尊重配置设置,就像命令行客户机那样?
mysql:windows/5.7.21
mysql工作台:windows/6.3.10

qgzx9mmu

qgzx9mmu1#

mysql工作台不读取ini文件,因此不使用其中的任何值。既然它可以同时连接到多个服务器,它怎么能呢?
mysql工作台对客户机和连接字符集使用固定编码(utf-8)。
在8.0.11版本之前,rc mysql workbench实际上使用了utf8mb3字符集。从那个版本开始,它切换到utf8mb4。

相关问题