`
zhaohaolin
  • 浏览: 985116 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

阅读更多

原创   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

分享到:
评论

相关推荐

    python操作mysql中文显示乱码的解决方法

    主要介绍了python操作mysql中文显示乱码的解决方法,是Python数据库程序设计中经常会遇到的问题,非常具有实用价值,需要的朋友可以参考下

    python查询mysql中文乱码问题

    本文主要是解决python2.7在查询mysql时产生中文乱码的处理方法,非常的有用,亲测可行,推荐给大家

    解决python2.7 查询mysql时出现中文乱码

    主要介绍了python操作mysql中文显示乱码的解决方法,是Python数据库程序设计中经常会遇到的问题,非常具有实用价值,需要的朋友可以参考下

    浅谈mysql的中文乱码问题

    首先,我用的mysql版本号是5.5.17的,最近遇到的问题是在eclipse中通过jdbc往数据库写中文数据的时候,在数据库中显示的是??即乱码,为解决这个问题,搞了一个晚上(当然熄灯后就就寝了(__) )外加早上这会儿,搞...

    python sqlobject(mysql)中文乱码解决方法

    UnicodeEncodeError: ‘latin-1’ codec can’t encode characters in ...Python mysql 中文乱码 的解决方法,有需要的朋友不妨看看。 先来看一段代码:复制代码 代码如下:import MySQLdb db_user = “tiger”

    Ubuntu的MySQL中文乱码问题

    近一段时间学习Django,在进行与MySQL数据联合使用的插入数据的时候遇到下边的问题:  /usr/local/lib/python2.7/dist-packages/Django-1.11.dev20170117002028-py2.7.egg/django/db/backends/mysql/base.py:109: ...

    Python如何读取MySQL数据库表数据

    本文实例为大家分享了Python读取MySQL数据库表数据的具体...## 加上字符集参数,防止中文乱码 dbconn=pymysql.connect( host="**********", database="kimbo", user="kimbo_test", password="******", port=330

    Python程序中使用SQLAlchemy时出现乱码的解决方案

    今天对clubot进行了升级, 但是导入数据后中文乱码, 一开是找资料说是在创建引擎的时候添加编码信息: engine = create_engine(mysql://root:@localhost:3306/clubot?charset=utf8) 但是这并不行, 然后查看表信息: ...

    mysql中插入表数据中文乱码问题的解决方法

    一、问题 开发中遇到将其它数据库数据插入到mysql数据库表中一直会报类似如下错误: ...然后网上百度发现是mysql默认的编码问题导致的中文乱码。 三、解决方案 1. 检查本地mysql安装文件目录下的my.ini配置文件,服务

    Mysql中文乱码以及导出为sql语句和Excel问题解决方法[图文]

    几天基于Heritrix写了一个爬虫,用到mysql,在导入导出数据时,遇到一些乱码问题,好不容易解决了,记录一下,以备查看

    Python 2.7及对应的mysqldb win32 py2.7打包下载

    内包含以下内容: 1、python-2.7.msi 2、MySQL-python-1.2.3.win32-py2.7.exe Python2.7操作Mysql数据库及乱码解决方案 http://blog.csdn.net/zm2714/article/details/7974890

    Python中MYSQLdb出现乱码的解决方法

    主要介绍了Python中MYSQLdb出现乱码的解决方法,是Python操作MySQL数据库程序设计中非常常见的问题,需要的朋友可以参考下

    Ubuntu下MySQL中文乱码的问题解决

    /usr/local/lib/python2.7/dist-packages/Django-1.11.dev20170117002028-py2.7.egg/django/db/backends/mysql/base.py:109: Warning: Incorrect string value: '\xE6\x88\x90\xE5\x8A\x9F...' for column 'json' at...

    mysql数据库乱码之保存越南文乱码解决方法

    我自己测试一下,很多字符变成了 ‘?...我看一下数据库字符集,默认都是 gbk,这个对中文是没有问题的,一碰到越南文,就乱码了。 于是,我将可能用到越南文的字段的字符集修改为 utf8,校对修改为:utf8_unicod

    Python信息抽取之乱码解决办法

    Python信息抽取之乱码解决办法 就事论事,直说自己遇到的情况,和我不一样的路过吧,一样的就看看吧  信息抓取,用python,beautifulSoup,lxml,re,urllib2,urllib2去获取想要抽取的页面内容,然后使用lxml或者...

    Python的Flask框架中SQLAlchemy使用时的乱码问题解决

    一、问题 这两天在学习使用flask + SQLAlchemy 定制一个web查询页面的demo ,在测试时,发现查询到的结果显示乱码 。这里将解决方法记录下。 二、解决思路 1、flask 程序上定位 flask的文档中提到可以通过设置...

Global site tag (gtag.js) - Google Analytics