六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 85|回复: 0

Python操作MySQL以及中文乱码的问题

[复制链接]

升级  35.8%

209

主题

209

主题

209

主题

进士

Rank: 4

积分
679
 楼主| 发表于 2013-2-4 15:04:12 | 显示全部楼层 |阅读模式
 Python操作MySQL以及中文乱码的问题收藏

Python操作MySQL需要安装Python-MySQL
可以从网上搜索一下,和一般的Python包一样安装

安装好之后,模块名字叫做MySQLdb ,在Window和Linux环境下都可以使用,试验了一下挺好用,
不过又发现了烦人的乱麻问题,最后用了几个办法,解决了!

我用了下面几个措施,保证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)

mysql_test.py
   <div style="">#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()
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表