Mysql不支持emoji表情---解决方案
2019-05-13 本文已影响0人
webjiacheng
真的是神坑,之前的数据库储存表情没事,今天就遇到鬼了,报错如下:
这是因为表情是4个字节的,Mysql的utf-8编码只支持3个字节的数据,所以要使用到新的编码
utf8mb4
思路:
注意:数据库的版本要 5.5.3+ 才可以支持utf8mb4编码
- 改数据库配置(我的是linux的、windows的自己百度)
- 重启数据库
- 修改字段的编码
- 重新测试
1.找到配置(路径:/etc/my.cnf 、windows的是:my.ini)
[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.重启数据库
service mysqld restart
service mysql restart (5.5.7版本命令)
3.修改字段的编码
修改字段的编码
此时你就可以再去测试一下了,不行的话你再看看是不是小弟我写错了吧!