python從數據庫中獲取utf8格式的中文數據輸出時變成問號或亂碼

    我用python操作mysql數據庫,數據庫中數據格式爲utf8,我使用python調用select語句後獲取到數據庫的信息,然後使用print打印出來的時候,原本中文數據卻無法顯示,顯示出來的是一串?,爲了解決這個問題,我也是絞盡腦汁啊。

    我在網上搜集了很多資料,大家都說是windows默認的格式是'GBK',輸出從mysql數據庫中獲取到的中文數據時,需要這樣寫:

假設info是從數據庫中獲取的中文值
print info.decode('UTF-8').encode('GBK')

結果:


但是,我這樣試了很多遍還是沒有解決問題,還是輸出?,也有人的觀點是說在鏈接數據庫的時候傳入編碼格式

db = MySQLdb.connect('localhost','root','',"zou",3306,'utf8')

結果:

     

這樣還是沒有達到預期的效果,不過他這次不是出現?,而是變成亂碼了,不過到這裏的話已經朝着好的方向發展。


最終,我結合上述兩種觀點,達到了目的^_^

具體操作可以看看我的代碼:


這次再看看程序運行的結果:


好的,問題解決!

發佈了194 篇原創文章 · 獲贊 88 · 訪問量 45萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章