1.确认你的数据库使用的是utf8mb4 字符集
使用Navicat管理工具 查看 修改
2确认数据配置文件使用utf8mb4字符集
注释掉的utf8 是之前配置时使用的,此时在插入带有emoji表情的数据时会报如下错误
下面是我的配置文件 可以直接粘贴
[mysql]
# 设置mysql默认字符集
# default-character-set=utf8
# 设置mysq默认使用字符集 utf8mb4 支持emoji 表情包
default-character-set=utf8mb4
[client]
# 设置mysql客户端默使用认字符集 支持emoji
default-character-set=utf8mb4
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
# character-set-server=utf8
# ##############以下内容配置 是为了使数据库支持 emoji 表情########
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
# ##################支持配置结束#########
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
保存后,重启mysql就行,现在你的数据库存储 表情就不会报错了,
但是要注意在连接数据库时 不能使用 characterEncoding\=utf8 否则,同样会报错 顺带贴下我的连接语句 springboot下 properties 配置文件中的连接语句
################ &allowMultiQueries=true 如果sql语句 存在批量更新时加上这个语句 可以返回成功数量 ######################
spring.datasource.url=jdbc\:mysql\://*.*.*.*\:3306/home_dynamic?useUnicode\=true&allowMultiQueries=true&useAffectedRows=true