码迷,mamicode.com
首页 > 数据库 > 详细

关于 MySQL模块不能插入中文问题

时间:2015-05-21 12:55:55      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:ip地址   中文   

   今天用python-MySQLdb模块插入中文,把收集到nginx 、IP地址做分析然后入库处理,做出图分析,插入中文的时候遇到点小问题:

最初的格式是这样的:

[root@mail python]# cat queryadd.py 
#!/usr/bin/env python
#coding=utf-8 
import json
import MySQLdb 
def GetAddress():
    pvdic={}
    f = open(‘/tmp/output.txt‘,‘r‘)
    n = 0
    for line in f:
        add = line.split()
        addressname=add[1].strip(‘\n‘)
        conn=MySQLdb.connect(host=‘192.168.10.205‘,user=‘test‘,passwd=‘123456‘,db=‘yizhan‘,port=3306,use_unicode=1,charset="utf8")
        cursor=conn.cursor()
        cursor.execute("insert into app01_map(address) values(%s)"%(addressname))
        conn.commit()
        cursor.close()
        conn.close()        
        print addressname
    f.close() 
if __name__==‘__main__‘:
    GetAddress()

这个格式,插入数字和英文没有问题,但是插入中文就报错:于是下面是修改:

[root@mail python]# cat test_mysql.py  
#!/usr/bin/env python
#coding=utf-8 
import json
import MySQLdb 
def GetAddress(): 
    addressname="南宁" 
    conn=MySQLdb.connect(host=‘192.168.10.205‘,user=‘test‘,passwd=‘123456‘,db=‘yizhan‘,port=3306,use_unicode=1,charset="utf8")
    cursor=conn.cursor()
    query = "insert into app01_map(address) values(%s)"
    cursor.execute(query,addressname)
    conn.commit()
    cursor.close()
    conn.close()        
    print addressname 
if __name__==‘__main__‘:
    GetAddress()

插入成功:

[root@mail python]# python test_mysql.py 

南宁


本文出自 “小罗” 博客,请务必保留此出处http://xiaoluoge.blog.51cto.com/9141967/1653405

关于 MySQL模块不能插入中文问题

标签:ip地址   中文   

原文地址:http://xiaoluoge.blog.51cto.com/9141967/1653405

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!