分布式事务数据库 —-MySQL 数据库开发规范(第三节)

第三节 字符集

字符集 UTF-8 编码基本上表达我们日常所使用到的汉字、字母或字符,也能够兼容更
多语种;其次,项目所用编程语言为 JAVA,而 JAVA 开发工具的语言也是默认为 UTF-8。
若项目中的业务数据不需要区分字母的大小写,我们的建议:字符集统一为 utf8,字符
集校对规则为 utf8_general_ci;若研目中的业务数据需要区分字母的大小写,则字符集校对规则为:utf8_bin。
若项目中的业务数据存在特殊字符(emoji 表情),则字符集统一为 utf8mb4,若不区分
大小写,字符集校对规则为 utf8mb4_general_ci,若需要区分大小写,字符集校对规则为utf8mb4_bin。
采用 utf8 编码时,对于中文汉字及符号,实际存储时占三个字节,而数值、字母和符
号(注:英文输入法下),则只占一个字节。例如:
 CREATE TABEL gl_user(username VARCHAR(40));则 username 最多能存储 40 个字符;
 username 存储’U-Cloud’ 则占用存储空间为:7 个字节(注释:变长会额外增加 1 个字节或 2 个字节,此处实际占用存储空间为:8 个字节);
采用 utf8mb4 编码时,对于 emoji 特殊符号,实际存储时占四个字节,而中文字符占三
个字节,数值、字母和符号(注:英文输入法下),则只占一个字节。
特别说明
随着移动互联网业务发展,越来越多的移动终端支持输入一些特殊符号,字符编码空间
超过 3 个字节,则可使用 4 个字节编码的 utf8mb4。不区分字母大小的示例,如下:
 CREATE TABEL gl_user(username VARCHAR(40) CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci);则 username 最多能存储 40 个字符,字符自身占用最大
存储空间 160 个字节。

猜你喜欢

转载自blog.csdn.net/weixin_44994688/article/details/89887184