日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python utf编码 查询_python数据库查询中文乱码

發布時間:2024/8/1 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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数据库查询中文乱码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。