Python用pymysql连接Mysql报错 'Connection' object has no attribute 'set_character_set'

本文介绍了如何解决在使用Python的pymysql模块连接MySQL时遇到的'Connection' object has no attribute 'set_character_set'错误。通过正确设置连接的字符集参数,可以避免因字符集不匹配导致的数据乱码问题。

Python用pymysql连接Mysql报错 'Connection' object has no attribute 'set_character_set'

原连接代码:

self.dbc = pymysql.connect('localhost', 'root', '111111', 'my_testsql')
修改为:

self.dbc = pymysql.connect('localhost', 'root', '111111', 'my_testsql',charset='utf8')
即可。



如果使用mysqldb,则采用下面声明方法

db.set_character_set('utf8')
dbc.execute('SET NAMES utf8;') dbc.execute('SET CHARACTER SET utf8;')
dbc.execute('SET character_set_connection=utf8;')

"db" is the result of MySQLdb.connect, and "dbc" is the result of db.cursor().

意思就是MySQLdb正常情况下会尝试将所有的内容转为latin1字符集处理

所以处理方法就是,设置连接和游标的charset为你所希望的编码,如utf8

db是connection连接,dbc是数据库游标




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值