python向数据库插入报错InternalError: (pymysql.err.InternalError) (1366, "Incorrect string value: '\\xE6\\xAD

用pymysql向数据库中插入数据报错:

错误一:

UnicodeEncodeError: 'latin-1' codec can't encode characters in position 133-145: ordinal not in range(256)

错误原因:数据与数据库中字符编码不相同

解决方法:pymysql.connect()中添加charset='utf8'

错误二:

InternalError: (pymysql.err.InternalError) (1366, "Incorrect string value: '\\xE6\\xAD

错误原因:未知

解决方法:运行命令   mysql> alter table 表名 convert to character set utf8mb4;

错误三:

'latin-1' codec can't encode characters in position 32-34: ordinal not in range(256)

错误原因:不能识别输入的中文

解决方法:value = value.encode("utf-8").decode("latin1")  #value是你输入的中文

 

你可能感兴趣的:(Mysql)