utf8mb4_unicode_ci、utf8mb4_general_ci的区别总结
对比
utf8mb4_general_ci
: 不区分大小写, utf8mb4_general_cs 区分大小写utf8mb4_bin
: 将字符串每个字符串用二进制数据编译存储,区分大小写,而且可以存二进制的内容。utf8mb4_unicode_ci
: 校对规则仅部分支持Unicode校对规则算法,一些字符还是不能支持;utf8mb4_unicode_ci不能完全支持组合的记号。
说明
ci
是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的。bin
是二进制, a 和 A 会别区别对待。(例如你运行:SELECT * FROM table WHERE txt = 'a', 那么在utf8mb4_bin中你就找不到 txt = 'A' 的那一行, 而 utf8mb4_general_ci 则可以。)utf8mb4_general_ci
是一个遗留的校对规则,不支持扩展,它仅能够在字符之间进行逐个比较。这意味着utf8mb4_general_ci校对规则进行的比较速度很快,但是与使用 utf8mb4_unicode_ci的校对规则相比,比较正确性较差。
应用上的差别
- 对于一种语言仅当使用
utf8mb4_unicode_ci
排序做的不好时,才执行与具体语言相关的utf8mb4字符集校对规则。例如,对于德语和法语,utf8mb4_unicode_ci工作的很好,因此不再需要为这两种语言创建特殊的utf8mb4校对规则。 utf8mb4_general_ci
也适用德语、法语或者俄语,但会有不准。如果你的应用能够接受这些,那么应该使用 utf8mb4_general_ci,因为它速度快。否则,使用utf8mb4_unicode_ci,因为它比较准确。
使用
utf8mb4_unicode_ci比较准确,utf8mb4_general_ci速度比较快。通常情况下,新建数据库时一般选用 utf8mb4_general_ci
就可以了
utf8mb4_unicode_ci、utf8mb4_general_ci的区别总结相关推荐
- Mybatis_plus的一些介绍
这里写目录标题 建立数据库 utf8mb4是什麽?为什么要用这个呢? utf8mb4_unicode_ci.utf8mb4_general_ci的区别总结 数据库连接配置文件 创建实体类模型 sql日 ...
- MySQL排序规则批量修改
排序规则选择 mysql中utf8mb4_general_ci与utf8mb4_unicode_ci有什么区别呢? 为什么大家都使用utf8mb4_general_ci而不是utf8mb4_unico ...
- 【Mysql】utf8与utf8mb4区别,utf8mb4_bin、utf8mb4_general_ci、utf8mb4_unicode_ci区别
一.utf8与utf8mb4区别 UTF8 UTF8mb4 使用1~4个字节,变长的编码格式 mb4即 most bytes 4,使用4个字节来表示完整的UTF-8 最大字符长度为 3 字节,如果遇到 ...
- MySQL几种编码格式的区别(utf8、utf8mb4、utf8mb4_general_ci、utf8mb4_unicode_ci 、utf8mb4_0900_ai_ci)
存储字符集 utf8 和 utf8mb4 utf8 是 Mysql 中的一种字符集,只支持最长三个字节的 UTF-8 字符,也就是 Unicode 中的基本多文本平面. 要在 Mysql 中保存 4 ...
- Mysql的utf8与utf8mb4区别,utf8mb4_bin、utf8mb4_general_ci、utf8mb4_unicode_ci区别
UTF-8是使用1~4个字节,一种变长的编码格式,字符编码.mb4即 most bytes 4,使用4个字节来表示完整的UTF-8. mysql的 utf8 编码最大字符长度为 3 字节,如果遇到 4 ...
- mysql utf8mb4 bin_Mysql的utf8与utf8mb4区别,utf8mb4_bin、utf8mb4_general_ci与utf8mb4_unicode_ci的选择...
utf8 与 utf8mb4 标准的 UTF-8 字符集编码是可以用 1~4 个字节去编码21位字符,是一种变长的编码格式,这几乎包含了是世界上所有能看见的语言了.然而在MySQL里实现的utf8最长 ...
- MySQL 编码:utf8 与 utf8mb4,utf8mb4_unicode_ci 与 utf8mb4_general_ci
参考:mysql字符集小结 utf8mb4 已成为 MySQL 8.0 的默认字符集,在MySQL 8.0.1及更高版本中将 utf8mb4_0900_ai_ci 作为默认排序规则. 新项目只考虑 u ...
- MySQL DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci utf8mb4_bin utf8mb4_general_ci
在mysql中执行show create table <tablename>指令,可以看到一张表的建表语句,example如下: CREATE TABLE `table1` (`id` b ...
- MySQL常用排序规则utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_bin
文章目录 一.MySQL常用排序规则简介 二.修改字符集及排序规则 1.修改表字符集及排序规则 2.修改字段字符集及排序规则 一.MySQL常用排序规则简介 UTF-8是使用1~4个字节,一种变长的编 ...
最新文章
- sudo配置文件详解及实战
- 服务器声卡图标显示x,win10电脑中桌面扬声器图标显示X标记怎么修复
- MySQL自学2018/05/02-数据类型
- mysql常见面试题
- canvas在舞台上点击后图片旋转_View绘制系列(10)Canvas基础变换
- 线程池中的线程复用原理
- 关于spring boot多张表建立外健的讨论
- 收藏 | 计算机视觉四大基本任务(分类、定位、检测、分割)
- 手机modem开发(28)---开发电信VoLTE开关默认值设置
- eclipse和maven
- 碎片试自学软件测试?我靠自己整理的这套方,案既充实了自己也得到了涨薪
- B站上的github视频教程笔记(包含两个B站视频,我觉得看这两个B站视频,github从原理到操作都可以会了)
- docker安装qq
- 系统规划与管理师历年论文
- [CF1031E]Triple Flips
- Suspending Methods【暂停方法队列说明】
- Windows Server 2003 AGP纹理加速无法打开问题可行的解决方案
- 信号处理--sinc函数
- git log 详解
- Matlab迭代算法实现