如何解决:UnicodeEncodeError: 'latin-1' codec can't encode characters in position 88-89.....

使用python3向MySQL插入中文数据时出现这个错误

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



SQL语句是这样的

"INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) 
                VALUES ('小明', '小红', 100, '女', 2016)

一开始没认真看,将SQL语句用MySQL运行,没有任何问题

后来认真看了编译器报的错误知道了是编码问题,解决办法是这样的:

将原来的:

db = pymysql.connect("localhost", "root", "123", "testuser")
改为:

db = pymysql.connect("localhost", "root", "123", "testuser", charset="utf8")
问题就成功解决啦!

猜你喜欢

转载自blog.csdn.net/exec1025/article/details/79657541