utf8mb4_unicode_ci 与utf8mb4_general_ci 区别
时间: 2023-08-05 18:03:11 浏览: 109
utf8mb4_unicode_ci 和 utf8mb4_general_ci 都是MySQL数据库中的字符集和排序规则。
区别在于排序规则的不同。utf8mb4_unicode_ci 使用 Unicode 标准进行排序,它对各种语言的字符进行了更准确的排序,包括了更多的特殊字符和符号。它是一种比较严格和准确的排序规则。
而 utf8mb4_general_ci 则是一种较为宽松的排序规则,它在排序时会忽略一些特殊字符和符号的差异,比如会将某些符号视为相等。这种排序规则适用于一些不太关注特殊字符顺序的场景,比如英文文本。
因此,如果你需要更准确地对各种语言的字符进行排序和比较,可以选择 utf8mb4_unicode_ci。如果你对特殊字符和符号的排序顺序不太在意,可以选择 utf8mb4_general_ci。
相关问题
怎么选utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_bin
在选择 utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_bin 时,需要考虑到以下几个方面:
1.排序规则:utf8mb4_general_ci 和 utf8mb4_unicode_ci 都是根据 Unicode 字符集进行排序,但是 utf8mb4_general_ci 比 utf8mb4_unicode_ci 更快,但是 utf8mb4_unicode_ci 更准确。而 utf8mb4_bin 则是根据二进制值进行排序。
2.大小写敏感:utf8mb4_general_ci 和 utf8mb4_unicode_ci 都是不区分大小写的,而 utf8mb4_bin 则是区分大小写的。
3.适用场景:utf8mb4_general_ci 适用于一些不需要太高精度的场景,例如注册用户名和邮箱等。而 utf8mb4_unicode_ci 则适用于需要更高精度的场景,例如多语言网站。而 utf8mb4_bin 则适用于需要精确匹配二进制值的场景。
因此,在选择 utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_bin 时,需要根据具体的应用场景和需求来进行选择。
mysql字符序utf8mb4_general_ci、utf8mb4_bin、binary、gbk_chinese_ci、gbk_bin、utf16_general_ci、utf16_bin、utf8mb4_unicode_ci、utf16_unicode_ci、gb18030_chinese_ci,这些命名规则是怎样的,代表什么意思,postgresql的字符序和mysql字符序的区别
MySQL字符序的命名规则是由多个部分组成的,具体如下:
- 字符集编码:utf8mb4、gbk、utf16、gb18030等。
- 排序规则:general_ci、bin、chinese_ci等。
其中,字符集编码表示使用的字符集类型,而排序规则表示字符比较和排序的规则。下面是对MySQL字符序的一些常见命名规则的解释:
- utf8mb4_general_ci:使用UTF-8编码,通用的不区分大小写的排序规则。
- utf8mb4_bin:使用UTF-8编码,二进制排序规则,按照字节顺序进行比较。
- gbk_chinese_ci:使用GBK编码,中文排序规则,不区分大小写。
- gbk_bin:使用GBK编码,二进制排序规则。
- utf16_general_ci:使用UTF-16编码,通用的不区分大小写的排序规则。
- utf16_bin:使用UTF-16编码,二进制排序规则。
PostgreSQL的字符序命名规则与MySQL略有不同。PostgreSQL使用LC_COLLATE和LC_CTYPE两个参数来定义字符排序和字符分类的规则。它具有更灵活的命名规则和更丰富的排序选项。与MySQL相比,PostgreSQL的字符序命名更加直观,并且提供了更多的可定制性。
总体上,PostgreSQL相对于MySQL在字符排序和字符分类方面提供了更多的灵活性和可配置性,可以更精确地满足不同语言和地区的排序需求。
阅读全文