python写入mysql时候 出现'latin-1' codec can't encode character 问题解决方法 以及python设置utf-8
第一次用python写点东西,在捣鼓半天了解了下关于数据库操作,但是在写入数据库时出现'latin-1' codec can't encode character in position 1-4 异常
看到latin-1,不负责猜想是关于编码的问题,于是想到python在刚试验时候关于utf-8的问题
解决办法:
在连接数据库代码中加入编码设置:
conn=MySQLdb.connect(host='127.0.0.1',user=user,passwd=pwd,db=database,port=3306,charset="utf8")
重新跑代码,问题解决。
在网上查问题时候找到另外一个解决方式:
在连接数据库成功以后调用.set_character_set('utf8')设置编码格式,其实与上面方法相同
coon.set_character_set('utf8')
此外,如果python中出现中文,或者出现其他编码格式问题,可在.py文件开头第一行设置 #coding=utf-8 基本能够解决问题(注意utf-8为小写)
以上基于Python 2.7.6