首先找到这里的解决方法,

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默认字符集,参见这边文章:
————>

最新文章

  1. Android 添加cookie
  2. 黑马程序员——JAVA基础之反射
  3. vs操作快捷键
  4. VB中的属性、方法和事件概念解析
  5. MySQL(Unix时间戳、日期)转换函数
  6. CENTOS如何禁用ROOT本地或远程SSH登录
  7. apache学习
  8. 【GDI+编程】--从三问开始
  9. span设置固定宽度
  10. 用js写出光棒效应的两种方法与jquery的两中方法
  11. 带新手走进神秘的HTTP协议
  12. 关于内核转储(core dump)的设置方法
  13. 友元(friend)
  14. Java RE (正则表达式)
  15. java中存储mysql数据库时间类型
  16. number类型精度分析
  17. windows通过node环境搭建安装npm,cnpm,vue-cli
  18. 数学战神app(小学生四则运算app)进度
  19. openCV函数
  20. 【转】golang的channel的几种用法

热门文章

  1. [转] CentOS 7 为firewalld添加开放端口及相关资料
  2. POJ 3273 Monthly Expense 【二分答案】
  3. shell编程, 100文钱买100只鸡, 简单实现
  4. 一、数组---数组中的K-diff数对※※※※※
  5. PHP SOAP 教程
  6. BZOJ 2119 股市的预测(后缀数组)
  7. BZOJ 3529 [Sdoi2014]数表 (莫比乌斯反演+树状数组+离线)
  8. linux系统调用表(system call table)
  9. 8.最佳的MongoDB客户端管理工具
  10. 1.CMD命令