【问题标题】:Change default character set on MySQL Workbench更改 MySQL Workbench 上的默认字符集
【发布时间】:2018-11-13 23:36:36
【问题描述】:

我正在尝试使用 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 上的默认字符集。

【问题讨论】:

  • 您好,您找到解决方案了吗?谢谢!
  • 没有。幸运的是,它似乎并没有引起太多问题。我希望有一个修复。
  • 在 mac 上有什么想法吗?

标签: mysql mysql-workbench


【解决方案1】:

AFAIK 每次启动新的 Workbench 会话时都必须执行此命令:

SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';

更新

如果您需要使用 Workbench 进行导出,以下内容很有用:(我还没有找到类似的方法来使其所有连接默认为 utf8mb4)

用于导出数据的默认字符集是 utf8。尽管我们需要 utf8mb4,但要支持完整的 Unicode。为此,可以手动修改 Workbench 以使用 utf8mb4。

  • 转到 C:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules 打开这个文件 wb_admin_export.py。
  • 创建备份副本
  • 将所有出现的“default-character-set”:“utf8”替换为“default-character-set”:“utf8mb4”。
  • 保存文件。
  • 重新启动工作台。

下次运行导出时,您将在日志结果中看到如下所示:

运行:mysqldump.exe --defaults-file="c:\users\jonathan\appdata\local\temp\tmpidlh7a.cnf" --host=localhost --protocol=tcp --user=root --allow -keywords=TRUE --port=3306 --default-character-set=utf8mb4 --routines --skip-triggers "databasename"

【讨论】:

  • 这太令人沮丧了:/但感谢您确认
  • 您找到解决方案了吗?谢谢。
【解决方案2】:

在 MySQL Workbench (8.0) 中,您可以单击 Administration 选项卡,选择 Instance 下的 Options File,滚动到 International 部分,您将找到 character-set-servercollat​​ion-server,您可以将它们设置为所需的字符集和排序规则。点击应用按钮保存更改。

这将在 /etc/mysql/my.cnf 或您的配置文件所在的任何位置设置值。

【讨论】:

    猜你喜欢
    • 2012-02-12
    • 2022-01-17
    • 2015-09-29
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 2012-01-30
    • 2011-10-15
    相关资源
    最近更新 更多