溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

解決python數據庫查詢出現中文亂碼的方法

發布時間:2020-07-15 10:27:41 來源:億速云 閱讀:792 作者:清晨 欄目:編程語言

這篇文章主要介紹解決python數據庫查詢出現中文亂碼的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

解決python數據庫查詢出現中文亂碼的方法:1、python文件設置編碼為utf-8;2、MySQL數據庫字符集改為“charset=utf8”;3、Python連接MySQL時加上參數"charset=’utf-8"。

解決python數據庫查詢出現中文亂碼的方法

執行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數據庫查詢出現中文亂碼的方法

解決亂碼方法如下:

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數據庫查詢出現中文亂碼的方法

以上是解決python數據庫查詢出現中文亂碼的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女