Python:数据入库乱码如何解决呢?
阿神
阿神 2017-04-17 11:49:03
[Python讨论组]

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

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

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

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

闭关修行中......

全部回复(1)
天蓬老师

按照下面几个措施,保证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-8
import sys
import MySQLdb

reload(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()
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号