MySQLdb查询有中文关键字查不到数据

2023-04-27,,

#/usr/bin/env python
#__*__coding:utf8__*__

zbx_host = '10.1.12.100'
zbx_port = 3306
zbx_username = 'zabbix'
zbx_password = '123456'
zbx_dbname = 'zabbix'
groupname = '其他部门'
conn = MySQLdb.connect(host = zbx_host,port = zbx_port,user = zbx_username, passwd = zbx_password,db = zbx_dbname)
cursor = conn.cursor()
sql = '''select groupid from groups where name='%s' ''' % groupname
cursor.execute(sql)
print cursor.fetchall()

当groupname = '其他部门'的时候,一直没有查到数据,一直为空,但是将groupname = 'templates'时就有数据了,我感觉是不支持中文,数据库本身编码是utf8的

剽窃了一下下人家大神写的帖子发现MySQLdb插件还要在连接时声明一下,不长使用中文写脚本,一直没发现。

conn = MySQLdb.connect(host = zbx_host,port = zbx_port,user = zbx_username, passwd = zbx_password,db = zbx_dbname,charset = "utf8")

加个参数就好了,折腾了好长时间

参考:

http://blog.csdn.net/dszgf5717/article/details/50985816

《MySQLdb查询有中文关键字查不到数据.doc》

下载本文的Word格式文档,以方便收藏与打印。