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