python3.7 mysql8 報錯:(pymysql.err.DataError) (1366, "Incorrect string value: '\\x...


在處理emoji時,報錯1366,原因是編碼造成的

在mysql8里,字符集默認就是 utf8mb4,已支持emoji

python3默認就是utf8

原因就出在兩個字符集上,utf8mb4是utf8的超集,mb4是most bytes 4的意思,專門用來兼容四字節的unicode

處理emoji時需要字符集支持unicode,utf8mb4是沒問題的,但是utf8不行

只需要將python連接mysql的默認格式由utf8改為utf8mb4即

'mysql+pymysql://root:123456@localhost:3306/test?charset=utf8mb4'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM