bug1
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
这是由于Python编码格式的原因,在导入包的后面添加下面的语句
sys.setdefaultencoding(‘utf8’)
设置默认编码格式为utf8
bug2
UnicodeEncodeError: 'latin-1' codec can't encode character u'\u79d2' in position 5: ordinal not in range(256)
MySQLdb正常情况下会尝试将所有的内容转换为Latin1字符集处理,所以解决方法见下。
解决方法:
db = MySQLdb.connect(host="localhost", user = "root", passwd = "", db = "testdb", use_unicode=True, charset="utf8")
bug3
_mysql_exceptions.OperationalError: (1136, "Column count doesn't match value count at row 1")
解决方法:数据库表的列名与程序插入数据库的字段名保持一致。