python MySQLdb編碼問題

2021-08-23 15:28:32 字數 489 閱讀 1209

在學習python的過程中中文編碼一直是個問題

今天經過了反覆的驗證終於發現mysqldb是根據charset引數進行解碼(decode),init_command引數進行編碼(encode)

在linux終端輸出還和linux終端指定的編碼有關

mysqldb.connect(host=ip,port=3306,user="username",passwd="pwd",db="dbname",init_command='init_command',charset='charset')

init_command:'set names %s' 由終端的編碼和linux系統的編碼決定 且終端和系統的編碼必須保持一致

比如終端用的utf-8 則系統必須也是utf8才能保證 輸出不是亂碼 系統編碼檢視echo $lang 修改系統編碼 export lang=code

charset的值必須是編碼集大於等於資料庫編碼的編碼型別

[url=台灣工控裝置[/url]

python MySQLdb學習筆記

mysqldb庫是python訪問mysql的連線庫,最近專案中需要使用,將學習使用所得整理如下。mysqldb windows下執行需要 libmysql.dll libmmd.dll 和 libguide40.dll 可以放在sitepackage下也可以在windows system32 學習...

python MySQLdb連線mysql失敗問題

mysql exceptions.operationalerror 2002,can t connect to local mysql 在很多種情況下,如果配置檔案沒有出錯的話,將機器重啟,確認關閉防火牆,確定啟動了mysql即可。網上很不錯講解 最近了解了一下django,資料庫選用了mysql,...

Python Mysqldb使用簡介

python db api使用流程 一 python查詢mysql使用 fetchone 方法獲取單條資料,使用fetchall 方法獲取多條資料。fetchone 該方法獲取下乙個查詢結果集。結果集是乙個物件 fetchall 接收全部的返回結果行.rowcount 這是乙個唯讀屬性,並返回執行e...