mysql保存emoji表情(微信昵称),使用utf8mb4格式保存微信昵称

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%'; 查询字符集mysql

SET NAMES utf8mb4; 将当前链接的数据格式设置为utf8mb4,这时候当前链接才能保存表格符号spring

再查询字符集结果sql

 

ALTER TABLE `wx_wxuser` MODIFY COLUMN `nickname` VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '昵称' ;  数据库

只须要该项操做,将字段设置为utf8mb4windows

 

SHOW FULL COLUMNS FROM wx_wxuser; 显示表字段详细信息缓存

 

spring boot 2.1.6 将启动链接格式设置为utf8mb4 测试

spring.datasource.hikari.connection-init-sql=SET NAMES utf8mb4 编码

经测试, 默认就是utf8mb4,能够不用配置该项3d

 

jpa设置生成的字段为utf8mb4格式code

@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
相关文章
相关标签/搜索