博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django直接操作MySQL,中文乱码
阅读量:7235 次
发布时间:2019-06-29

本文共 2036 字,大约阅读时间需要 6 分钟。

 

sql_insert = '''insert into sinfors_hvvms  values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)'''    conn= MySQLdb.connect(        host='10.160.25.31',        port = 3306,        user='mgmtuser',        passwd='N53(R3#2.a2)mg',        db ='mgmt',      charset='utf8' #插入数据时解决中文乱码问题        )    cu = conn.cursor()    datas=[]    i = 1    for csvf in os.listdir(csvpath):        if os.path.splitext(csvf)[0].startswith('queryresult-') and os.path.splitext(csvf)[1] == '.csv':            csvfile = os.path.join(csvpath,csvf)            #print csvfile            cf = open(csvfile)            cf.readline()                        for l in csv.reader(cf):                l.insert(0,i)                i=i+1                datas.append(tuple(l))            cf.close()            #print csvfile            os.remove(csvfile)    if len(datas) > 0:        cu.execute('delete from sinfors_hvvms')        conn.commit()        for data in datas:            #print sql_insert,data            cu.execute(sql_insert,data) #data是一个tuple:(171, '192.168.200.194', 'OPS-Linux', '', '8', '0.0', 'D:\\Hyper-V\\OP', 'Off', 'None', 'None', '1', 'Internet', 'None', 'Disabled', '1601/1/1 8:00:00')
conn.commit()        cu.execute('select * from sinfors_hvvms')        cu.close()

 

print sql_insert,data返回值:

insert into sinfors_hvvms values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) (171, '192.168.200.194', 'OPS-Linux', '', '8', '0.0', 'D:\\Hyper-V\\OP', 'Off', 'None', 'None', '1', 'Internet', 'None', 'Disa

bled', '1601/1/1 8:00:00')

 

自定义字段顺序插入值,查看表字段默认顺序:

desc tablename;

sql_insert = '''insert into sinfors_hvvms(id,PSComputerName,Name,IPAddress,ProcessorCount,MemorySize,Path,State,DelaySec,Description,Generation,VMSwitchName,VlanID,ReplicationState,udate_auto)  values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)'''

 

解决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)

转载于:https://www.cnblogs.com/dreamer-fish/p/5753012.html

你可能感兴趣的文章
刚刚,蚂蚁区块链喜提“世界互联网领先科技成果”
查看>>
后端工程师入门前端页面重构(一):口诀
查看>>
广州三本找Java实习经历
查看>>
初识 weex 系列(前端视角) - 基础完结
查看>>
《Web 推送通知》系列翻译 | 第七篇:推送事件 && 第八篇:显示一个通知
查看>>
你不知道的 Electron (一):神奇的 remote 模块
查看>>
华为资深架构师:Cloud Native架构一致性问题及解决方案
查看>>
AI还有什么不会的?机器人写稿技术应用
查看>>
iOS 中的 block 是如何持有对象的
查看>>
从业务变迁到研发犯难,微服务在Spring Cloud的实践之路
查看>>
Python 连接 MySQL 的几种姿势
查看>>
跨页面通信的各种姿势
查看>>
CVPR论文复现争议后续:华人一作苦战两月给出有态度的分析结果
查看>>
Java 开发者最容易犯的10个错误
查看>>
Web 探索之旅 | 第三部分第一课:服务器
查看>>
0110 - 给 iPhone 6 换了电池
查看>>
从国企到阿里的面试经历(二)
查看>>
[译] 利用 Python 中的 Bokeh 实现数据可视化,第一部分:入门
查看>>
Vue教程14:配置子路由
查看>>
手牵手教你写 Vue 插件
查看>>