上周用Python连接MySQL读取数据的时候,发现里面读出的中文全部变成了?,导致将数据存储到另一张表是出现Unique Key冲突的错误。虽然报错是?造成的冲突,但一开始没有意识到。上网搜索了好一阵时间才找到一个解决方法。读取中文的时候数据库的中文编码不对造成的。在连接数据库时加上charset='urf8即解决。代码如下:
connect(host,user,password,db,port,charset='utf8')
另外Python的编码也应该是UTF-8,在Python脚本的开头写下:
#encode utf-8
即可