MySQL資料庫儲存emoji表情問題
阿新 • • 發佈:2018-12-16
自己在新建資料庫表的時候字符集已經用的是utf8mb4,但是排序規則不是utf8mb4_unicode_ci。
插入表情報錯。查詢了一下網上的解決辦法:
【1】修改mysql的my.cnf檔案
[client] default-character-set=utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4' [mysql] default-character-set=utf8mb4
【2】修改資料庫及表的字符集
(1) 進入mysql
mysql -u使用者 -p密碼
(2)修改資料庫的字符集
ALTER DATABASE 資料庫名 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
eg:
ALTER DATABASE wx CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
(3)指定某個資料庫
use wx;
(4)修改表的字符集:
修改table的字符集: ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; eg: ALTER TABLE G_PERSONINFO CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
退出 exit;
利用 service mysql stop 及service mysql start 重啟即可以。
然後再次進入檢視資料庫字符集看是否成功。