解决Python 插查 MySQL 时中文乱码问题
2024-08-23 15:11:50
首先找到这里的解决方法,
count = cursor.fetchall()
for i in count:
idc_a = i[0]
if isinstance(idc_a, unicode):
idc_a = idc_a.encode('utf-8')
print idc_a
但只能解决查询显示乱码问题
后来继续查资料,找到了这里,
解决方法很简单拿,和数据库建立连接后,执行:
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().
这样基本解决了。在查看评论时,还看到了一种解决方法:
就是在连接数据库时,指定连接字符集
A lot of useless methods, mate. It is enough to connect with charset="utf8" param.
db = MySQLdb.connect(host="localhost", user = "root", passwd = "", db = "testdb", use_unicode=True, charset="utf8")
当然以上解决方案前提是,数据库在设计时为utf8,表的字符集也要创建为utf8:
修改表字符集:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name; 关于修改MySQL默认字符集,参见这边文章:————>
最新文章
- Android 添加cookie
- 黑马程序员——JAVA基础之反射
- vs操作快捷键
- VB中的属性、方法和事件概念解析
- MySQL(Unix时间戳、日期)转换函数
- CENTOS如何禁用ROOT本地或远程SSH登录
- apache学习
- 【GDI+编程】--从三问开始
- span设置固定宽度
- 用js写出光棒效应的两种方法与jquery的两中方法
- 带新手走进神秘的HTTP协议
- 关于内核转储(core dump)的设置方法
- 友元(friend)
- Java RE (正则表达式)
- java中存储mysql数据库时间类型
- number类型精度分析
- windows通过node环境搭建安装npm,cnpm,vue-cli
- 数学战神app(小学生四则运算app)进度
- openCV函数
- 【转】golang的channel的几种用法
热门文章
- [转] CentOS 7 为firewalld添加开放端口及相关资料
- POJ 3273 Monthly Expense 【二分答案】
- shell编程, 100文钱买100只鸡, 简单实现
- 一、数组---数组中的K-diff数对※※※※※
- PHP SOAP 教程
- BZOJ 2119 股市的预测(后缀数组)
- BZOJ 3529 [Sdoi2014]数表 (莫比乌斯反演+树状数组+离线)
- linux系统调用表(system call table)
- 8.最佳的MongoDB客户端管理工具
- 1.CMD命令