之前在開發的時候遇到 utf-8 編碼無法存儲 Emoji 表情,後面經過研究之後需要用到 utf-8mb4 編碼,這裡網上很多教程說是要把 資料庫、表、字段三個都設定為 utf-8mb4 編碼,甚至有的教程需要修改 mysql.conf 配置檔案,還需要重新開機 MySQL。
存在的問題
生産環境重新開機 MySQL 可不是一件小事,而且修改資料庫編碼影響很大,是以不建議修改資料庫,mysql.conf 也是能不動就不動。
後面經過研究之後發現隻需要設定字段為 utf-8mb4 編碼即可
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3EjYjJTZ3IjZllTN4IWM3MWZmBjM5UTO5EmYzQ2MkVjZ5ATYxMjM38CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
注意排序規則也要對應的 utf-8mb4 規則。
資料庫連接配接方面則不需要任何變動,資料庫連接配接會自動識别 utf-8 和 utf-8mb4,連接配接位址使用以前的 utf-8 連接配接位址即可。