python连接MySQL时,中文乱码解决方案

本文提供了解决Python连接MySQL数据库时中文乱码问题的三个方案:修改默认编码、连接数据库时指定编码、检查数据库表记录类型编码是否为utf8。

在我们用python连接MySQL数据库时,倘若我们要把一串中文导入到数据库的表里面,通常会出现导入失败或乱码现象,下面提供几个解决方案:

一、SyntaxError: Non-ASCII character '\xe6' in file XXX.py on line 6, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details类似提示的错误,是因为python的默认编码是ASCII码,而中文的编码一般是’utf8',我们要在code中改变其默认编码,只需在代码前添加

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

二、将中文导入到MySQL数据库的表中时,中文出现乱码,应在连接数据库时加入代码

charset='utf8'
完整的为:
conn = MySQLdb.connect(
        host = 'localhost', #本地主机,默认为'localhost'
        port = 3306,        #端口,默认为3306
        user = 'root',      #用户名,默认为'root'
        passwd = '123456',  #密码,自设
        db ='test',         #连接名为'test'的数据库
        <strong>charset='utf8'</strong>
    )

三、倘若依然是乱码,应检查一下数据库的表,记录所对应的类型(一般为text)编码是否为‘utf8’,对应得上的话一般没有就不会出现中文乱码的情况。


以上为关于python连接MySQL时,中文乱码问题解决方案,希望对大家有所帮助!如有错误,希望大家可以提出,并多多包涵,相互学习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值