You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL将字符ð与d识别为相同的问题如何解决?

MySQL 区分字符ð与d的排序规则设置问题及解决方案

问题描述

我在搭建需要区分字符ð和d的数据库时,尝试了多种编码排序规则都没有成功,试过的规则包括:

  • utf8_bin
  • utf8_general_ci
  • utf8_unicode_ci
  • utf8mb4_0900_as_cs
  • utf8mb4_0900_bin
  • utf8mb4_is_0900_as_cs
  • utf16_bin
  • utf16_icelandic_ci
  • utf16_unicode_ci

上述所有排序规则下,MySQL都将ð和d判定为相同字符,就连冰岛语专属排序规则也存在该问题。比较特殊的是,我个人网站上使用utf8_general_ci排序规则的数据库不存在该问题。

解决方案

问题根源是创建表之后再修改排序规则不会实际生效,即使数据库显示已经切换到新的排序规则也没用。
正确操作流程:

  1. 先将数据库默认排序规则设置为utf8mb4_bin这类二进制排序规则
  2. 按照新的排序规则重新创建表

按上述步骤操作后,新表即可正常区分ð和d两个字符。


内容的提问来源于stack exchange,提问作者mosel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 09:51:03