Python什么方法适合处理数据入库乱码问题,python乱码,数据表各个字段的编码格式


数据表各个字段的编码格式:utf-8
SQL语句:

sql = "INSERT INTO test(keyword,content) values(\"%s\",\"%s\")"%(keyword,content.encode("utf-8"))

写到mysql数据库后乱码,类似如下:

【专业报称恒大憾如西班牙 亚洲版Cç½—å’Œæ

按照下面几个措施,保证MySQL的输入输出没有乱码:
1 Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)
2 MySQL数据库charset=utf-8
3 Python连接MySQL是加上参数 charset=utf8
4 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)
Python代码:

#encoding=utf-8import sysimport MySQLdbreload(sys)sys.setdefaultencoding('utf-8')db=MySQLdb.connect(user='root',charset='utf8')cur=db.cursor()cur.execute('use mydb')cur.execute('select * from mytb limit 100')f=file("/home/user/work/tem.txt",'w')for i in cur.fetchall():    f.write(str(i))    f.write(" ")f.close()cur.close()

编橙之家文章,

评论关闭