報錯: 1366, "Incorrect string value: '\\xF0\\x9F\\x9A\\xA8
是因爲mysql不能識別4個字節的utf8編碼的字符,拋出了異常,這應該也是問題的根源。☺、��、類似於這種4個字節,將對應字符類型換成將對應的數據類型改爲utf8mb4類型,同時連接類型也要改成utf8mb4_general_ci.
解決辦法
注意:直接在navicat中修改表結構的字符集和數據庫的字符集都不能生效 (至少我的不行)
通過cmd進入mysql,找到表結構,修改表結構字符集爲utf8mb4
使用命令行: alter table 表名 convert to character set utf8mb4;
再添加djanog連接串屬性:
'OPTIONS': {'charset': 'utf8mb4'},
修改完成後,插入正常。
補充
1、有資料說進入my.ini修改mysql配置,實測無效
2、強調一遍,不要偷懶直接用可視化工具修改
3、如果改了mysql的配置,嘗試重啓服務器,如果啓動不了,就改回去