1. 程式人生 > >向MySQL資料庫中插入帶emoji表情符的資料時報錯

向MySQL資料庫中插入帶emoji表情符的資料時報錯

問題:向MySQL資料庫中插入帶emoji表情符的資料時報錯

原因:utf8字符集不支援emoji表情符,需要改為utf8mb4字符集(utf8mb4是MySQL在5.5.3之後增加的,實際開發中建議使用該字符集)

解決:

1. 設定MySQL伺服器及資料庫表的字符集

   設定MySQL伺服器的字串

       vi /etc/my.cnf  # 修改主配置檔案

           [client]

           default-character-set=utf8mb4

       

           [mysqld]  

           character-set-server=utf8mb4

       service mysqld restart # 重啟服務

   設定資料庫表的字符集(也可重新建立)

       alter database 資料庫名 charset utf8mb4;

       alter table 表名 charset utf8mb4;

2. 設定Python連線資料庫時使用的字符集

       config = {

           "host": "localhost",

           "port": 3306,

           "user": "root",

           "password": "root",

           "database": "python",

           "charset": "utf8mb4"

       }