阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 1180|回复: 0

[转帖] MySQLdb对mysql数据库的中文操作测试

[复制链接]
  • TA的每日心情
    开心
    2012-3-7 10:15
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2012-1-14 11:33:18 | 显示全部楼层 |阅读模式
    最近开始学习python,接触到了MySQLdb,总是会遇到中文乱码不能插入的问题,今天写个一个简单的程序把中文问题都测试一遍。
    #!/usr/bin/env python#coding:utf-8"""这个程序只是简单测试MySQLdb对mysql数据库的增删改查,中文的插入,再表的默认编码是utf8或者gbk的情况下都可以正常插入,不管数据库的默认编码,当表的默认编码是latin1时,插入中文失败对数据库进行修改以后需要调用commit方法来进行提交,才能再数据库中看到修改的情况"""import MySQLdbconn=MySQLdb.connect(host="127.0.0.1",user="root",passwd="1q2w3e4r",db="mysite2",charset="utf8")c=conn.cursor()#首次进行查询如果有中文应该可以正常显示sql="select name,id from zhanbu order by id desc limit 1 "#c.execute("set names utf8")#c.execute("set character_set_client=utf8")#c.execute("set character_set_results=utf8")d=c.execute(sql)dd=c.fetchall()#print diid=1if len(dd)>0:    iid=dd[0][1]print "第一次查询" for i in dd:    print i,i[0] charset = conn.character_set_name()#query = query.encode(charset)print charset#print query#增加#进行中文插入print "插入成功后"content="中文"sql="insert into zhanbu(id,name) values(%d,'%s')"%(iid+1, content)#print sql d=c.execute(sql)conn.commit()#中文插入以后进行查询,看是否能够正常显示sql="select name,id from zhanbu order by id desc limit 1 "d=c.execute(sql)dd=c.fetchall()for i in dd:    print i[0]#插入完成后进行修改print "修改成功后"appendcontent="追加"sql="update zhanbu set name='%s' where id=%d"%(appendcontent,iid+1)d=c.execute(sql)conn.commit()sql="select name,id from zhanbu order by id desc limit 1 "d=c.execute(sql)dd=c.fetchall()for i in dd:    print i[0]#修改完成以后删除数据print "删除数据以后"sql="delete from zhanbu where id=%d"%(iid+1,)d=c.execute(sql)conn.commit()sql="select name,id from zhanbu order by id desc limit 1 "d=c.execute(sql)dd=c.fetchall()for i in dd:    print i[0]c.close()conn.close()
    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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