django插入數據庫報錯 1366, "Incorrect string value: '\\xF0\\x9F\\x9A\\xA8

 報錯: 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的配置,嘗試重啓服務器,如果啓動不了,就改回去

 

 

 

 

 

 

參考: (10條消息) pymysql.err.InternalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x8E\\xB5\\xE9\\x9F...'_成都—大數據開發工程師—楊洋的博客-CSDN博客

 

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