UnicodeEncodeError是字符编码错误。可能是由于多种错误引起的,以下说明一种自己遇见的错误类型。
向mysql数据库中插入数据,在写日志的函数报错:
logger.info('delete from ' + tablename + ' order_id = ' + order_id + ' ok')
开始以为是order_id的编码错误,但是分开打印后显示为tablename字段编码有误,找到该变量赋值处:
tablename = "push_ecdetail" + "_" + pid
其中,pid为数字,加上str函数后,修改为
tablename = "push_ecdetail" + "_" + str(pid)
问题解决。在拼接字符串时,一定要检查各变量的类型,防止出错。