⺍ 和 ⺌ 被识别为相同字符 Mysql 二进制排序规则

在 MySQL 中,⺍ 和 ⺌ 被识别为相同字符,通常与字符集和排序规则(Collation) 的处理方式有关。以下是具体原因:

1. 字符的 Unicode 特性

⺍ 和 ⺌ 均为 Unicode 中的汉字部首:

⺍ 的 Unicode 编码是 U+2E8D

⺌ 的 Unicode 编码是 U+2E8C

它们在视觉上非常相似(仅细微差别),在某些语言或字符集中可能被视为 “等价” 字符。

2. MySQL 排序规则的影响

MySQL 的排序规则(如 utf8mb4_general_ci、utf8mb4_unicode_ci 等)决定了字符的比较方式:

_ci 后缀(Case Insensitive)表示不区分大小写,同时可能对视觉相似或语义相关的字符进行 “合并” 处理。

部分排序规则(尤其是早期的通用规则)会将 Unicode 中相似的字符视为等价,目的是优化多语言场景下的匹配(例如某些欧洲语言中的重音字符会被视为与基础字符相同)。

⺍ 和 ⺌ 可能因这种 “等价性规则” 被排序规则判定为相同字符。

3. 验证与解决方式

(1)验证字符是否被视为相同

可通过查询测试:

sql

SELECT '⺍' = '⺌' COLLATE utf8mb4_general_ci; -- 可能返回 1(相同)

SELECT '⺍' = '⺌' COLLATE utf8mb4_bin; -- 返回 0(不同,二进制比较)

(2)强制区分的解决方法

若需严格区分这两个字符,可使用二进制排序规则(_bin),它会直接比较字符的二进制编码(Unicode 码值),不做等价合并:

创建表时指定:

总结

⺍ 和 ⺌ 在 MySQL 中被视为相同,是因为所使用的排序规则(如 utf8mb4_general_ci)对相似字符做了等价处理。若需严格区分,使用二进制排序规则(utf8mb4_bin)即可。

文件名精灵2025年最新版 机器翻译 AI智能
...
批量修改文件名称、文件夹名称

免费使用 功能无限制

全面接入机器自动翻译功能,主流AI大模型智能改名

方便快捷,支持正则表达式、无需安装功能齐全、支持定制无广告、无插件,放心使用。

免费下载
本站中所有的计算器的计算结果仅供参考,本站对此结果的准确性不承担任何责任,实际数额以银行/保险公司/国家相关机构确认的结果为准。
在线客服QQ:543690914,备案号: 苏ICP备15037649号-27。东海县白塔埠镇佳诚电脑经营部版权所有。