python utf编码 查询_python数据库查询中文乱码
解決python數據庫查詢出現中文亂碼的方法:1、python文件設置編碼為utf-8;2、MySQL數據庫字符集改為“charset=utf8”;3、Python連接MySQL時加上參數"charset=’utf-8"。
執行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()
執行結果
解決亂碼方法如下:
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()
修改后的執行結果
總結
以上是生活随笔為你收集整理的python utf编码 查询_python数据库查询中文乱码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 未来时速——第一章 用事实的力量管理企业
- 下一篇: html返回顶部开始隐藏,回到顶部并且监