SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%'; 查询字符集
SET NAMES utf8mb4; 将当前连接的数据格式设置为utf8mb4,这时候当前连接才能保存表格符号
再查询字符集结果
ALTER TABLE `wx_wxuser` MODIFY COLUMN `nickname` VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '昵称' ;
只需要该项操作,将字段设置为utf8mb4
SHOW FULL COLUMNS FROM wx_wxuser; 显示表字段详细信息
spring boot 2.1.4 将启动连接格式设置为utf8mb4
spring.datasource.hikari.connection-init-sql=SET NAMES utf8mb4
经测试, 默认就是utf8mb4,可以不用配置该项
jpa设置生成的字段为utf8mb4格式
@Column(columnDefinition = "VARCHAR(255) CHARACTER SET utf8mb4")
测试数据:👑Mi
mysql的my.ini配置文件,注意不要使用windows的默认记事本打开,无法保存为utf8格式,要是这种格式,notepad++显示:
my.ini配置:
[client]
default-character-set=utf8mb4
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
default_time_zone=+8:00
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\Program Files\mysql-5.7.25-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files\mysql-5.7.25-winx64\data
# 允许最大连接数
max_connections=1000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=SET NAMES utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#开启查询缓存
explicit_defaults_for_timestamp=true
#开启binlog
log-bin=mysql-bin-log
expire-logs-days=7
max-binlog-size=500M
binlog-format=Row
server-id=10