mysql数据库支持emoji表情特殊字符

一、背景问题

  • 问题:mysql数据库设置为utf8mb4后仍然无法插入表情符号
  • 原因:mysql配置文件中没有设置utf8mb4并重启服务

在排查的过程中,先在本地尝试,后在linux上尝试,接下来记录一下完整的设置编码流程

二、window下设置utf8mb4

1.修改mysql配置文件

  • 进入dos,进入Mysql, 输入 select @@basedir;
    在这里插入图片描述
    注:如果mysql命令无法使用,win10左下角可以直接搜索mysqlClient
  • 修改my.ini文件

    在这里插入图片描述

  • 修改如下配置

    在这里插入图片描述
    在这里插入图片描述

2.重启mysql服务

  • 进入任务管理器,在服务中找到mysql,右键重启

    在这里插入图片描述

3.设置库、表字符集

  • 设置库字符集
    alter database mydatabase default character set uft8mb4;

  • 设置表字符集
    alter table mytable convert to character set utf8mb4;

三、linux下设置utf8mb4

1.修改配置

  • 文件位置 /etc/my.cnf
  • vi my.cnf增加如下配置
[client] 
default-character-set = utf8mb4
[mysql]  
default-character-set = utf8mb4
[mysqld]  vi
character-set-server = utf8mb4  
collation-server = utf8mb4_unicode_ci

2.重启服务

  • 重启命令
    systemctl restart mysqld.service

  • mariadb的重启
    systemctl restart mariadb

3.设置库、表字符集

  • 设置库字符集
    alter database mydatabase default character set uft8mb4;

    扫描二维码关注公众号,回复: 11197710 查看本文章
  • 设置表字符集
    alter table mytable convert to character set utf8mb4;

原创文章 20 获赞 21 访问量 3万+

猜你喜欢

转载自blog.csdn.net/lanxing_huangyao/article/details/88909915