我正在尝试使用utf8mb4
字符集连接到我的MYSQL数据库(请注意,数据库字符集的全局设置已经是utf8mb4)。
我可以很容易地使用CLI这样做:
mysql -h myhostname -u myuser -p --default-character-set=utf8mb4
当我执行以下查询时:
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
我按预期获得了正确的输出:
+--------------------------+--------------------+
| 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_general_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+--------------------------+--------------------+
但是,当我使用 MySQL Workbench 连接到我的MySQL数据库,并执行相同的查询时,我得到以下内容:
+--------------------------+--------------------+
| Variable_name | Value |
+--------------------------+--------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | utf8mb4_unicode_ci |
+--------------------------+--------------------+
这里的问题是我正在努力改变MySQL Workbench GUI中的default-character-set
。我尝试添加以下内容:
default-character-set=utf8mb4
在管理服务器连接>连接>高级>其他部分,
但似乎没有任何影响。
如何更改MySQL Workbench GUI上的默认字符集。
答案 0 :(得分:1)
AFAIK,每次启动新的Workbench会话时必须执行以下命令:
SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
答案 1 :(得分:0)
在MySQL Workbench(8.0)中,您可以单击管理标签,在实例下选择选项文件,滚动到国际部分,您将找到字符集服务器和归类服务器,可以将其设置为所需的字符集和归类。点击应用按钮以保存更改。
这将在/etc/mysql/my.cnf或您的配置文件中的任何位置设置值。