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
相關文章
相關標籤/搜索