mysql编码格式

所属分类:Database | 发布于 2022-11-12 16:01:26

在mysql的配置文件有几项是关于mysql字符集设定的。今天一文搞懂mysql编码格式设置。

mysql8.0将默认的编码格式改成了utf8mb4。

先看mysql8.0版本默认的编码格式

mysql> status
--------------
mysql  Ver 8.0.31 for Win64 on x86_64 (MySQL Community Server - GPL)
.....
Using delimiter:        ;
Server version:         8.0.31 MySQL Community Server - GPL
Protocol version:       10
Connection:             127.0.0.1 via TCP/IP
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb3
Conn.  characterset:    utf8mb3
TCP port:               3306
Binary data as:         Hexadecimal

再看看mysql之前版本的,下面是mariadb的

MariaDB [(none)]> status
--------------
mysql  Ver 15.1 Distrib 10.5.8-MariaDB, for Linux (x86_64) using readline 5.1
.....
Using delimiter:	;
Server:			MariaDB
Server version:		10.5.8-MariaDB-log MariaDB Server
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	latin1
Db     characterset:	latin1
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/tmp/mysql.sock

可以看到mysql8.0将默认的编码集由latin1换成了utf8mb4。

 

unicode,utf-8

unicode:为了解决 语言编码不统一的问题,美国人提出一种标准方案来展示世界上所有语言的所有字符,处于这个目的,unicode诞生了,unicode相当于一本很厚的字典,记录着世界上所有字符对应的一个数字。

utf-8:utf-8编码是unicode编码的一种实现。是一种针对unicode的可变长度字符编码,这意味着存在一个字符需要一到四个字节,单字节编码的第一字节为[00-7F],双字节编码的第一字节为[C2-DF], 三字节编码的第一字节为[E0-EF]。这样只要看到第一个字节的范围就可以知道编码的字节数。 这样也可以大大简化算法。

mysql种的utf8,utf8mb3,utf8mb4

utf8mb4,在mysql5.5.3之后增加了utf8mb4编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode字符,mysql中的utf8,就是最大3个字节的unicode字符,也就是mysql中的utf8mb3。

文哥博客(https://wenge365.com)属于文野个人博客,欢迎浏览使用

联系方式:qq:52292959 邮箱:52292959@qq.com

备案号:粤ICP备18108585号 友情链接