原因:
Mysql的utf8编码最多3个字节
,Emoji表情或者某些特殊字符是4个字节
解决办法:
1. 修改mysql配置文件my.cnf (linux环境)
my.cnf一般在etc/mysql/my.cnf位置
找到后请在以下三部分里添加如下
内容:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=‘SET NAMES utf8mb4’
2. 将已经建好的数据库和表也转换成utf8mb4
更改数据库编码:
ALTER DATABASE **** CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
更改库表编码:
alter table **** convert to character set utf8mb4 collate utf8mb4_bin;
3.重启mysql
在linux服务器中重启mysql
# 重启mysql命令
service mysql restart