–原因:表情是4个字节的奇葩,而utf8只能存3字节数据,所以我们要改数据库、表、存表情的字段的编码为utf8mb4
----------我们从建表开始
第一步:修改字符编码 utf8 为 utf8mb4
CREATE TABLE posts (
post VARCHAR(50) character set utf8mb4 #设置post字段为utf8mb4
) ;
#设置表posts的字符编码为utf8mb4
alter table posts convert to character set utf8mb4 collate utf8mb4_general_ci;
#设置数据库bbb的字符编码为utf8mb4
alter database bbb default character set utf8mb4 collate utf8mb4_general_ci;
#我们不妨查看一下posts表\bbb数据库的编码是否改为utf8mb4
show create table posts;
show create database bbb
听说不用改数据库为utf8mb4,没试,反正我改了
第二步,配置文件
1.connection-init-sql: set names utf8mb4
2.useSSL=false
spring:
datasource:
url: jdbc:mysql://localhost:3306/bbb?serverTimezone=Asia/Shanghai&useSSL=false
username: root
password: 虽然很简单,但是保密=-=
hikari:
connection-init-sql: SET NAMES utf8mb4
测试一下:(虽然很奇怪,但他真是个笑脸😝)到这就解决了问题,虽然很简单,小白我可折腾了大半天,希望对你有亿点帮助。