IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Collation

共 2 篇相关文章

IT 累计浏览 3,307

mysql字符集和校验规则概念小介

这篇讲的是MySQL里两个基础但容易混淆的概念:字符集(character set)和校验规则(collation)。作者从刚接触MySQL时的困惑出发,用一个很直观的例子说明了它们的区别——比如字符集定义了符号“A”和“a”对应的底层编码,而校验规则则决定了如何比较它们的大小。不同的校验规则(比如直接比编码或取反再比)可能得出完全相反的大小关系,这个对比一下子就能让人抓住核心。 文章接着梳理了MySQL对这两个概念的灵活支持:比如可以为同一台服务器、同一个数据库甚至同一个表中的不同字段,指定不同的字符集和校验规则。作者还附上了实际的MySQL命令和查询结果,演示如何查看系统支持的字符集(`show character set`)和校验规则(`show collation`),以及如何用`like`进行筛选。 最后点出了校验规则命名中常见的规律:比如后缀`_ci`表示大小写不敏感,`_cs`表示敏感,`_bin`则表示二进制比较。对于想弄明白MySQL存储和排序底层机制的人来说,这篇从概念到实操的讲解梳理得相当清晰。

IT 累计浏览 3,013

mysql连接通道中的字符集和校验规则

这篇文章从MySQL连接建立时客户端与服务端协商字符集的过程讲起,详细剖析了`character_set_client`、`character_set_connection`和`character_set_results`这组“三剑客”如何影响数据传递,以及`collation`(校验规则)在字符串比较和排序中扮演的隐形角色。 作者重点对比了在连接字符串中显式指定字符集(如`?charset=utf8mb4`)与依赖服务器全局`character_set_server`默认值的差异。关键指出,若配置不当,数据可能在传输层发生“隐性转换”,不仅可能导致乱码,还会让精心设计的索引失效,引发全表扫描。文章通过具体案例演示了如何用`SHOW VARIABLES LIKE 'character_set%'`命令诊断问题,并给出了统一客户端、连接串和服务器端字符集的配置方案。 对于需要处理多语言内容(如包含Emoji或生僻字)的应用,文中强调必须选用`utf8mb4`而非传统的`utf8`。而对于追求排序效率或特定比较规则的场景,则需深入理解不同校验规则(如`utf8mb4_general_ci`与`utf8mb4_unicode_ci`)在性能与准确性上的权衡。