python 读中文字符后的数据_python数据库查询中文乱码

解决python数据库查询出现中文乱码的方法:1、python文件设置编码为utf-8;2、MySQL数据库字符集改为“charset=utf8”;3、Python连接MySQL时加上参数"charset=’utf-8"。

4da2ee33af5115ea5427172d3c63dbfc.png

执行pip install PyMySQL 完成pyMySQL安装

数据库部分

-- 建表语句CREATE TABLE books (

name varchar(50) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 插入数据insert into books values('万物生光辉');

insert into books values('我亲爱的甜橙树');

insert into books values('教父');

insert into books values('故事');

insert into books values('树上的男爵');

insert into books values('罗马人的故事2');

insert into books values('秘岛(全三册)');

python代码#!/usr/bin/env python

import pymysql.cursors

connection = pymysql.connect(user='用户名', passwd='密码', db='数据库名')

cursor = connection.cursor()

ex = cursor.execute("select name from books")

books = cursor.fetchmany(ex)

for book in books:

print("%s" % book[0])

connection.close()

执行结果

b2d80950ee790859634b54cf0feb3387.png

解决乱码方法如下:

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

MySQL数据库charset=utf-8

Python连接MySQL时加上参数 charset=’utf8’

读取数据后写入文件前执行编码book[0].encode(‘utf-8’)

最后测试的时候发现只需在连接MySQL的时候加上charset=’utf8’即可,以utf-8编码格式读取数据,其他条件无需添加,也不会出现从mysql中读取的数据出现中文乱码的情况。

修改后python代码#!/usr/bin/env python

import pymysql.cursors

# 在连接Mysql的时候添加charset='utf8'即可解决中文乱码问题

connection = pymysql.connect(user='用户名', passwd='密码', db='数据库名', charset='utf8')

cursor = connection.cursor()

ex = cursor.execute("select name from books")

books = cursor.fetchmany(ex)

for book in books:

print("%s" % book[0])

connection.close()

修改后的执行结果

9c0021b87d80153304760ba57f1659e1.png推荐课程:Python入门与进阶教学视频(极客学院)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值