mysql插入特殊字符数据

(1)使用 from pymysql.converters import escape_string
(2)解决Mysql:Incorrect string value: '\xF0\x9F\x8D\x83\xF0\x9F...' for column

原因:
 通常情况,Mysql数据编码格式为“utf-8”,对于汉字来说足够;
Mysql中utf8占3个字节,但是,3个字节对于表情符号是不够的,需4个字节;
此时使用utf8,会出现‘\xF0\x9F\x8D\x83\xF0\x9F’的问题。
解决办法:
1)针对字段修改编码格式
  数据库表对应字段上修改编码格式为utf8mb4,命令示例如下:
  ```ALTER TABLE insure_user CHANGE nickname nickname VARCHAR(64) CHARACTER SET utf8mb4 ; ```
2)修改数据库表的编码格式,修改为utf8mb4
3)mysql连接时,字符编码也做相应的修改
conn = connect(host='xx', port=3306, user='xx', password='xx', database='xx', charset='utf8mb4') 

你可能感兴趣的:(mysql插入特殊字符数据)