在處理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'