MySQL Workbench 连接编码

2024-04-26

在测试一些代码时,我偶然发现了以下 MySQL 错误:

Error Code: 1267. Illegal mix of collations (utf8_general_ci,IMPLICIT) and ( utf8mb4_general_ci,COERCIBLE) for operation '='

我在标准 MySQL UTF-8 排序列上使用 WHERE 语句,该列包含使用 4 个字节的字符。除非我理解错了,在阅读过程中,我发现了以下信息:

  • MySQL原来的UTF-8实现不完整(支持最大3字节)
  • 解决这个问题的方法是使用一种名为 utf8mb4 的新排序规则,它绝不是一种新编码,而只是 MySQL 用来修补原来的错误的。

就我而言,我认为没有理由使用原始的 MySQL UTF-8 实现,因为它不完整。所以我做了一些服务器端配置以确保所有默认值都指向 utf8mb4。一切看起来都很好,但现在在我的应用程序上:我可以在表单中使用 ???? 字符,而不必担心 MySQL。

我现在的问题仍然是,当我连接 MySQL Workbench 时,编码似乎被强制为 UTF-8。因此,即使我的应用程序正常工作,如果我想直接在 MySQL Workbench 中运行测试,我也会收到“非法混合排序规则”错误,除非我在启动应用程序后运行此修复程序(在 Workbench 中):

SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'

我发现这个老问题(MySQL 工作台字符集 https://stackoverflow.com/questions/6860086/mysql-workbench-charset)似乎不可能覆盖设置,但即使我花了太多时间搜索配置,我也不敢相信情况仍然如此?


现在,恐怕你将不得不忍受这一点。 MySQL 有一个 WL 将该编码重命名为 utf8(丢弃现有的 3 字节变体)。因此,在 MySQL Workbench 中保留 utf8 是有意义的,否则我们必须为不同的服务器使用不同的设置,这会使事情变得更加复杂。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL Workbench 连接编码 的相关文章

随机推荐

  • 有没有办法让 webkit 的 javascript 正确处理空格?

    事实证明 在处理 XSLT 时 webkit 对于空格的处理似乎并不是特别好 它似乎对换行符 回车符 制表符和空格一视同仁 甚至到了这样的地步 substring after test string 10 将返回string 有什么方法可以
  • 如何获取源(kendo ui 小部件的发送者元素

    如何获取 kendoui datepicker 小部件的调用者 发送者 或者任何与此相关的小部件
  • SQLAlchemy Join 从多个表中检索数据

    我正在尝试从多个表中检索数据SQL炼金术使用 join 方法 当我运行查询时 我希望得到一个对象 该对象包含来自不同表的所有数据 以便我可以使用a 区域名称等等在哪里区域名称位于其中一张连接的表上 下面是我正在运行的查询和表布局 如果有人能
  • 使用反射实例化泛型类[重复]

    这个问题在这里已经有答案了 NOTE I don t believe this question is a duplicate of the one linked above as I explain in the UPDATE below
  • Mono WebClient 编码问题

    我正在尝试移植 NET应用程序从 Windows 到 Mono 但某些在 Windows 上运行的代码不再运行 正如预期的那样 on mono WebClient client new WebClient Console WriteLine
  • 用于网站的 Git / 接收后 / 测试站点和生产站点的分离

    我使用 Git 来管理网站的源代码和部署 目前测试站点和实时站点在同一个机器上运行 关注此资源http toroid org ams git website howto http toroid org ams git website how
  • 我们绝对需要 STS 来实现 SAML 吗?

    我第一次尝试实现支持 SAML 的 SOAP 服务 并且对 SAML 实现中安全令牌服务 STS 的作用有一些概念性问题 用户 gt Web 应用程序 SOAP SAML gt 消息传递应用程序 基本上 该场景是用户使用其用户名和密码登录到
  • 如何获取内存中缓冲区的文件描述符?

    如果我有一个包含文件数据的缓冲区 如何从中获取文件描述符 这是一个源自于的问题如何解压内存中的文件 https stackoverflow com questions 1553653 how to untar file in memory
  • jquery val() 不工作

    jQuery val 不起作用 这是简单的脚本 com form submit function var name nama val var komentar komentar val alert Hi name this is your
  • 如何将data.table按多列连续分组

    我想获取一堆由数百个分组变量分组的描述性统计数据 我知道从如何按多列对data table进行分组 https stackoverflow com questions 12478943 how to group data table by
  • 更新进度动画 gif 在回发时停止

    我使用了 ajax 更新进度控件 在回发发生时显示动画 gif 问题 它显示一段时间 但随后停止刷新 或者更确切地说 停止播放 循环 造成同样情况的实际原因是什么 请指教 谢谢 使用 Internet Explorer 时 gif 的动画将
  • 我想要表格格式的选择查询结果,例如摘要报告

    例如 month1 month2 month3 total district1 5 2 9 16 district2 1 0 11 12 total 260 150 140 550 这里最终的总数并不重要 但至少我需要显示每个地区每月的数量
  • 以非 root 用户身份在 UserData 中运行命令

    我正在尝试使用 EC2 UserData 脚本安装气流 我需要使用非 root 用户 ec2 user 运行一些命令 请参阅下面的脚本 UserData Fn Base64 Sub bin bash set xe Install GCC y
  • JavaFX 8:拦截应用程序“退出”

    为了验证用户所做的所有更改是否已保存 我想拦截 JavaFX 应用程序的退出 退出 是否有一种通用的方法来实现这一目标 例如覆盖事件 或者还有更多方法吗 正如他们已经说过的 这是通过拦截来完成的WindowEvent WINDOW CLOS
  • 在 Android 编辑文本字段中显示一条消息

    海 我有一个带有一个文本字段的 Android 程序 当它加载到模拟器上时 我需要在该文本字段内显示一条消息 当用户在该文本框中单击时 该消息应该消失 例如 请输入姓名 任何人都可以在这里发布一些示例代码吗 只需使用或致电setHint在物
  • 设备中的嵌套资源

    我是 Rails 新手 我想要一些关于我的路线和正确的路由逻辑的建议 我正在开发一个非常简单的应用程序 用户可以在其中发布列表 用户 设计模型 有很多列表 并且该列表属于一个用户 我的列表中有一个 user id integer 当用户成功
  • Elasticsearch 崩溃后无法恢复

    磁盘空间不足 导致 Elasticsearch 分片崩溃 三个节点现在为红色 两个节点已恢复 它们的状态为黄色 ES 的 CPU 利用率为 150 内存利用率很高 正在尝试恢复它们 但似乎存在一些版本匹配冲突 我清理了磁盘空间并删除了分片的
  • 如何在doctrine2查询生成器where语句中添加运算符

    我试图从一个表中进行选择 其中所选持续时间除以条目持续时间等于没有余数 qb em gt createQueryBuilder gt from AcmeBlogBundle Entry e gt andWhere duration e du
  • Android 和 PhoneGap——在 NPObject 上调用方法时出错

    我正在尝试设置FLAG SHOW WHEN LOCKED在我的phonegap应用程序中 但仅当显示特定页面时 为此 我有一个 Java 插件 扩展自CordovaPlugin在以下代码中execute method if action e
  • MySQL Workbench 连接编码

    在测试一些代码时 我偶然发现了以下 MySQL 错误 Error Code 1267 Illegal mix of collations utf8 general ci IMPLICIT and utf8mb4 general ci COE