php

Navicat建数据库时字符集与排序规则说明

2023-03-26

Navicat建数据库时字符集与排序规则说明


1、字符集说明

mysql数据库字符集.png

一般选择utf8。

下面介绍一下utf8与utf8mb4的区别:

  utf8mb4兼容utf8,且比utf8能表示更多的字符。至于什么时候用,看你的做什么项目了,到 Unicode编码表  页面中 看unicode编码区从1 ~ 126就属于传统utf8区,当然utf8mb4也兼容这个区,126行以下就是utf8mb4扩充区,什么时候你需要存储那些字符,你才用utf8mb4,否则只是浪费空间。


2、排序规则说明

mysql数据库排序规则.png

排序规则一般有3种: utf8_general_ci、utf8_general_cs、utf8_bin。

ci全称为case insensitive,意思是大小写不敏感

cs区分大小写

bin是以二进制数据存储,且区分大小写

例如:

SELECT * FROM table WHERE txt = ‘a’;

  那么在utf8_bin中找不到 txt = ‘A’ 的那一行, 而 utf8_general_ci 则可以。


utf8_unicode_ci和utf8_general_ci对中、英文来说没有实质的差别。

utf8_general_ci校对速度快,但准确度稍差。 (准确度够用,一般建库选择这个。)

utf8_unicode_ci准确度高,但校对速度稍慢。