读书人

[D]python 查询 mysql乱码有关问题

发布时间: 2012-05-22 18:18:54 作者: rapoo

[D]python 查询 mysql乱码问题

Python code
#encoding=utf-8import MySQLdbdb=MySQLdb.connect(user='root',passwd='123456',db='test',charset='utf8')cur=db.cursor()cur.execute('select * from test1')f=file("f:\\1.txt",'w')for i in cur.fetchall():    print i[0],i[1]f.close()cur.close()

这样能输出中文
1 我的号码是: 1
2 我的号码是: 2
3 我的号码是: 3


Python code
#encoding=utf-8import MySQLdbdb=MySQLdb.connect(user='root',passwd='123456',db='test',charset='utf8')cur=db.cursor()cur.execute('select * from test1')f=file("f:\\1.txt",'w')for i in cur.fetchall():    print if.close()cur.close()

这样却不行,新手恳请赐教!!非常感谢

-------------------------------
Double行动:
原帖分数:30
帖子加分:30

[解决办法]
i记得是个tuple来的,所以你看到的应该不是乱码,而是非ascii字符使用转义符号来表示...
[解决办法]
同意1楼的,cur.fetchall() 返回的是((),。。)这种格式的,
print i 得到的是个元祖,数字型的数据 ,举个例子,2 ,返回的则是2L,长整形,字符串是
而是非ascii字符使用转义符号来表示或者是u'字符串',如果是而是非ascii字符使用转义符号,不需要转码,如果是u'字符串',你想要在客户端输出,可能要转码,encode('gbk')或者你是编码方式
[解决办法]
首先这个类似二维数组,其实是一个列表+元组,所以你取值得时候是需要a[i][0]这样的格式才行

读书人网 >perl python

热点推荐