2025-04-23

1 MySQL的版本

utf8mb4的最低mysql版本支持版本為5.5.3+,若不是,請升級到較新版本。

2 MySQL驅動

5.1.34可用,最低不能低於5.1.13(開始沒修改mysql的配置文件 導致伺服器的mysql驅動jar包隻能用5.1.13版本,升級版本就會報錯,坑死)

3 修改MySQL配置文件

修改mysql配置文件my.cnf(windows為my.ini)

my.cnf一般在etc/mysql/my.cnf位置。找到後請在以下三部分裡添加如下內容:

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect=’SET NAMES utf8mb4’


這裡寫圖片描述

4 把資料庫, 表 , 和 相應的字段 字符集都設置為utf8mb4(排序規則:

utf8mb4_unicode_ci 和utf8mb4_general_ci 二選一,unicode的精準 、general的快)

5 重啟資料庫 伺服器端的資料庫連接的配置

資料庫連接參數中:

characterEncoding=utf8會被自動識別為utf8mb4, autoReconnect=true加上

6 將資料庫和已經建好的表也轉換成utf8mb4

更改資料庫編碼:ALTER DATABASE caitu99 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

更改表編碼:ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATEutf8mb4_general_ci;

如有必要,還可以更改列的編碼

在第3步設置character_set_database,character_set_server不成功的可以試下直接在mysql.exe下

set @@character_set_server=’utf8mb4’;

set @@character_set_database=’utf8mb4’;

這下資料庫就可以存下emoji表情的編碼瞭。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *