当前位置: 代码迷 >> 综合 >> mysql character set & collation
  详细解决方案

mysql character set & collation

热度:36   发布时间:2024-01-24 23:46:39.0

创建mysql数据的时候涉及到 character set 跟 collation两个配置项。为了弄懂大概是啥意思,查了些资料。

1. character set 字符集

数据库存储的字符集,客户端连接的时候也要用对应的字符集才能正确解析,不然会出现大量的乱码。
常见的字符集 utf8,unicode等。

2. collation 排序规则

如果选择的character set字符集是utf8,那么查询一下支持的排序规则

show collation like "utf8%"; # 查看支持的排序规则
# +----------------------------+---------+-----+---------+----------+---------+---------------+
# | Collation | Charset | Id | Default | Compiled | Sortlen | Pad_attribute |
# +----------------------------+---------+-----+---------+----------+---------+---------------+
# | utf8mb4_0900_ai_ci | utf8mb4 | 255 | Yes | Yes | 0 | NO PAD |
# | utf8mb4_0900_as_ci | utf8mb4 | 305 | | Yes | 0 | NO PAD |
# | utf8mb4_0900_as_cs | utf8mb4 | 278 | | Yes | 0 | NO PAD |

其中有个default显示当前字符集默认的排序规则

_ci 大小写不敏感
_cs 大小写敏感
_bin 用编码值进行比较

想要特殊的比较方式的时候要选用不同的

  相关解决方案