使用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")问题就成功解决啦!