向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"

       }






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章