(1)使用 from pymysql.converters import escape_string
(2)解決Mysql:Incorrect string value: '\xF0\x9F\x8D\x83\xF0\x9F...' for column
原因:
通常情況,Mysql數(shù)據(jù)編碼格式為“utf-8”辟犀,對(duì)于漢字來說足夠;
Mysql中utf8占3個(gè)字節(jié),但是货邓,3個(gè)字節(jié)對(duì)于表情符號(hào)是不夠的眶痰,需4個(gè)字節(jié);
此時(shí)使用utf8描馅,會(huì)出現(xiàn)‘\xF0\x9F\x8D\x83\xF0\x9F’的問題卿吐。
解決辦法:
1)針對(duì)字段修改編碼格式
數(shù)據(jù)庫表對(duì)應(yīng)字段上修改編碼格式為utf8mb4旁舰,命令示例如下:
```ALTER TABLE insure_user CHANGE nickname nickname VARCHAR(64) CHARACTER SET utf8mb4 ; ```
2)修改數(shù)據(jù)庫表的編碼格式,修改為utf8mb4
3)mysql連接時(shí)嗡官,字符編碼也做相應(yīng)的修改
conn = connect(host='xx', port=3306, user='xx', password='xx', database='xx', charset='utf8mb4')