首页 > 技术文章 > python将数据写入mysql乱码的解决办法

awishfullyway 2016-11-01 11:29 原文

1.错误为:插入乱码 

报错:

Python模块MySQLdb操作mysql出现2019错误:Can't initialize character set utf-8                     

解决:

写入数据语句为:

cnn = MySQLdb.connect(host = mysql_infor_list[0] , user = mysql_infor_list[1], passwd = mysql_infor_list[2], db = mysql_infor_list[3], port = mysql_infor_list[4] , charset="utf8")
cur = cnn.cursor()
value_site = '%s,'*(len(key_tuple))
value_site = value_site[:-1]
sql = "INSERT INTO %s %s value (%s)" % (table_name,key_tuple,value_site)
print sql
sql = sql.replace('\'','')
cur.executemany(sql , list_in)
cnn.commit()
cur.close()
cnn.close()

 

***注意charset="utf8" ***千万别写成utf-8

 

2.错误为:

(1366, "Incorrect string value: '\\xE6\\xB7\\xB1\\xE5\\x85\\xA5...' for column '

解决:重新建表,设置编码格式为为utf8

 

推荐阅读