Python写入中文到mysql时乱码

1 保证MySQL的输出没有乱码的三步

    1 Python文件设置编码 utf-8 (文件前面加上 # coding=utf-8)

# -*- coding: UTF-8 -*-

参考:http://www.runoob.com/python/python-chinese-encoding.html

    2 Python连接MySQL是加上参数 charset=utf8 

参考:http://blog.csdn.net/zhaihaifei/article/details/53907106

    3 MySQL数据库charset=utf-8 

参考:http://blog.csdn.net/zhaihaifei/article/details/51659134

mysql编码、数据表编码查看和修改总结:http://www.2cto.com/database/201406/307694.html


2 使用DBUtils建立数据库连接池

必须添加 charset='utf8'

#-*- coding: utf-8 -*-  
""" 
数据库管理类 
"""  
import MySQLdb  
from DBUtils.PooledDB import PooledDB  
#自定义的配置文件,主要包含DB的一些基本配置  
from config import configs  

#数据库实例化类  
class DbManager(Singleton):  

    def __init__(self):  
        connKwargs = {'host':configs['DB_HOST'], 'user':configs['DB_USER'], 'passwd':configs['DB_PASS'], 'db':configs['DB_NAME'], 'charset':"utf8"}  
        self._pool = PooledDB(MySQLdb, mincached=0, maxcached=10, maxshared=10, maxusage=10000, **connKwargs)  

    def getConn(self):  
        return self._pool.connection()  

_dbManager = DbManager()  

例2:

connKwargs = {'host': conf.db['host'], 'user': conf.db['user'],
                      'passwd': conf.db['password'], 'db': 'autoscalingport',
                      'cursorclass': mdb.cursors.DictCursor, }
        self._pool = PooledDB(mdb, mincached=0, maxcached=10, maxshared=10,
                              maxusage=10000, charset='utf8', **connKwargs)

参考:

http://blog.csdn.net/zhaihaifei/article/details/54016939


3 编辑器设置


Pycharm 设置步骤:

  • 进入 file > Settings,在输入框搜索 encoding
  • 找到 Editor > File encodings,将 IDE Encoding 和 Project Encoding 设置为utf-8。
参考:http://www.runoob.com/python/python-chinese-encoding.html

http://blog.csdn.net/waleking/article/details/7524741



    3 Python连接MySQL是加上参数 charset=utf8 

参考:http://blog.csdn.net/zhaihaifei/article/details/53907106

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值