当前位置: 首页 > news >正文

Python操作MySQL以及中文乱码的问题

Python操作MySQL需要安装Python-MySQL
可以从网上搜索一下,和一般的Python包一样安装

安装好之后,模块名字叫做MySQLdb ,在Window和Linux环境下都可以使用,试验了一下挺好用,
不过又发现了烦人的乱麻问题,最后用了几个办法,解决了!

我用了下面几个措施,保证MySQL的输出没有乱麻:
    1 Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)
    2 MySQL数据库charset=utf-8 
    3 Python连接MySQL是加上参数 charset=utf8 
    4 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)

mysql_test.py
   

#encoding=utf-8
import sys
import MySQLdb

reload(sys)
sys.setdefaultencoding('utf-8')

db=MySQLdb.connect(user='root',charset='utf8')
cur=db.cursor()
cur.execute('use mydb')
cur.execute('select * from mytb limit 100')

f=file("/home/user/work/tem.txt",'w')

for i in cur.fetchall():
    f.write(str(i))
    f.write(" ")

f.close()
cur.close()


上面是linux上的脚本,windows下运行正常!

注:MySQL的配置文件设置也必须配置成utf8

设置 MySQL 的 my.cnf 文件,在 [client]/[mysqld]部分都设置默认的字符集(通常在/etc/mysql/my.cnf): 

[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8

相关文章:

  • Linux常用命令1
  • 图像增强---中值滤波
  • Exchange 2013 为DAG添加成员服务器,遇到的几个问题解决方法
  • [python] 之 装饰器
  • linux--dhcp服务器
  • 浪潮NF5280M3安装Windows Server 2008 R2注意事项
  • 关于使用/来 dispatcherServlet 的url-pattern带来的问题
  • c语言中函数的形参test(int *a)?
  • Core Bluetooth下实现两个设备进行互联
  • MyEclipse开发WebService教程
  • noi 2989 糖果
  • 微软Hyper-v管理——迁移虚拟(奇葩问题)
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • 每天学点数据结构与算法
  • Zabbix服务器监控系统部署之自定义监控项的添加及配置(二)
  • 2017前端实习生面试总结
  • extjs4学习之配置
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • js面向对象
  • Linux链接文件
  • OSS Web直传 (文件图片)
  • python大佬养成计划----difflib模块
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • SQLServer插入数据
  • Unix命令
  • VUE es6技巧写法(持续更新中~~~)
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 爱情 北京女病人
  • 从0到1:PostCSS 插件开发最佳实践
  • 浮动相关
  • 浮现式设计
  • 官方解决所有 npm 全局安装权限问题
  • 技术胖1-4季视频复习— (看视频笔记)
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 进程与线程(三)——进程/线程间通信
  • ​虚拟化系列介绍(十)
  • #100天计划# 2013年9月29日
  • #stm32驱动外设模块总结w5500模块
  • #微信小程序:微信小程序常见的配置传旨
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (function(){})()的分步解析
  • (二)正点原子I.MX6ULL u-boot移植
  • (三)模仿学习-Action数据的模仿
  • (三十五)大数据实战——Superset可视化平台搭建
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (原創) 未来三学期想要修的课 (日記)
  • (正则)提取页面里的img标签
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .net知识和学习方法系列(二十一)CLR-枚举
  • @ConditionalOnProperty注解使用说明
  • @Documented注解的作用