Python操作MySQL以及中文亂碼的問題

2021-09-08 17:20:17 字數 1051 閱讀 4784

python操作mysql需要安裝python-mysql

可以從網上搜尋一下,和一般的python包一樣安裝

安裝好之後,模組名字叫做mysqldb ,在window和linux環境下都可以使用,試驗了一下挺好用,

不過又發現了煩人的亂麻問題,最後用了幾個辦法,解決了!

我用了下面幾個措施,保證mysql的輸出沒有亂麻:

1 python檔案設定編碼 utf-8 (檔案前面加上 #encoding=utf-8)

2 mysql資料庫charset=utf-8 

3 python連線mysql是加上引數 charset=utf8 

4 設定python的預設編碼為 utf-8 (sys.setdefaultencoding(utf-8)

mysql_test.py

reload(sys)

sys.setdefaultencoding('utf-8')

db=mysqldb.connect(user='root',charset='utf8')

cur=db.cursor()

cur.execute('use mydb')

cur.execute('select * from mytb limit 100')

f=file("/home/user/work/tem.txt",'w')

for i in cur.fetchall():

f.write(str(i))

f.write(" ")

f.close()

cur.close()

上面是linux上的指令碼,windows下執行正常!

注:mysql的配置檔案設定也必須配置成utf8

設定 mysql 的 my.cnf 檔案,在 [client]/[mysqld]部分都設定預設的字符集(通常在/etc/mysql/my.cnf): 

[client]

default-character-set = utf8

[mysqld]

default-character-set = utf8

Python操作MySQL以及中文亂碼的問題

python操作mysql需要安裝python mysql 可以從網上搜尋一下,和一般的python包一樣安裝 安裝好之後,模組名字叫做mysqldb 在window和linux環境下都可以使用,試驗了一下挺好用,不過又發現了煩人的亂麻問題,最後用了幾個辦法,解決了!我用了下面幾個措施,保證mysq...

python 以及C 目錄操作

類別 標頭檔案 windows判斷目錄是否存在 include access windows建立目錄 includemkdir linux判斷目錄是否存在 includeaccess linux建立目錄 includemkdir import os os.mkdir path 建立目錄 os.mak...

python 序列操作,以及 getitem

模式 start end step 其中,第乙個數字start表示切片開始位置,預設為0 第二個數字end表示切片截止 但不包含 位置 預設為列表長度 第三個數字step表示切片的步長 預設為1 當start為0時可以省略,當end為列表長度時可以省略,當step為1時可以省略,並且省略步長時可以同...