首先是字符集的问题,mysql字符集大多数使用的是utf8,需要把字符集更换成utf8mb4,因为UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,utf8mb4则扩展到一个字符最多能有4字节,并且兼容utf8
在mysql终端查看下mysql当前版本所支持的字符集,mysql 5.5.3版本上才会支持utf8mb4
1.修改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.更改连接数据库编码方式(TP框架在config文件中修改)
3.更改数据库编码方式
4.更改数据表编码方式
5.更改字段编码方式