版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tojohnonly/article/details/82590272
MySql 的 UTF-8 编码的一个字符最多 3 个字节 , 但是一个 emoji 表情为 4 个字节 , 所以 UTF-8 不支持存储 emoji 表情 , 但是 UTF-8 的超集 utf8mb4 一个字符最多能有 4 字节 , 所以能支持 emoji 表情的存储 ; 下面介绍了关于如何修改 MySql 数据库的编码格式变为 utf8mb4 的具体方法 :
Linux 系统中 MySql 的配置文件为 my.cnf
, Winows 中的配置文件为 my.ini
修改 MySql 的配置文件
找到 /etc/mysql 路径下的 my.cnf 文件 , 添加如下所示配置 :
[client]
default-character-set=utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
[mysql]
default-character-set=utf8mb4
修改数据库和表的字符集
更改主库字符集
ALTER DATABASE sysd CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
修改表字符集
ALTER TABLE shop CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
修改完以后需要重启下数据库
查看库表属性
SHOW VARIABLES;
SHOW CREATE TABLE shop;
作者 Github : tojohnonly , 博客 : EnskDeCode