昨天我寫了個python 操作mysql的方法,按照文件的提供的引數來寫,寫完了以後自己測試發現報了乙個編碼的錯誤,也不知道為什麼會報這個錯誤,我一般對編碼的錯誤比較在意,原來搞php的時候,就出現過讀取資料庫里的資訊編碼錯誤,後來我吸取了教訓,用php讀取資料庫資料按照一套標準來走就沒有出現過編碼的問題。
我的標準是:設定4個地方編碼一致。
1資料庫編碼
2資料表編碼
3程式檔案編碼
4讀取資料之前設定好編碼
我現在用python讀取mysql資料庫的時候就遇到:資料庫錯誤: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
我檢查了下各處的編碼,資料庫,資料表和檔案的編碼都是utf-8,都是一致的,那為什麼還是會出現編碼的問題呢?
我想應該是讀取資料之前沒有設定預設的編碼,接著我查了下文件,發現了解決辦法。
我通過sys模組的setdefaultencoding('編碼型別')來進行python 編碼設定。
下面給出我的**:
#encoding=utf-8
import sys
import mysqldb
reload(sys)
sys.setdefaultencoding('utf-8')
看來應該先設定好編碼型別,再讀取資料就不會出錯了。
python 教程
老王python,提供python相關的python 書籍
,python 主機
,希望大家能夠喜歡!
分享python exception的一點心得
python exception是python 處理異常很重要的方法,它裡面有幾種寫法,你可以根據當時的情況不同來選擇不同的方法。我分3個情況來分別的說明python exception的寫法和處理方式 1最簡單最直接的處理方式 假定我們在寫 的時候,有的時候怕程式會出問題,就會在可能出問題的地方用...
分享python exception的一點心得
python exception是python 處理異常很重要的方法,它裡面有幾種寫法,你可以根據當時的情況不同來選擇不同的方法。我分3個情況來分別的說明python exception的寫法和處理方式 1最簡單最直接的處理方式 假定我們在寫 的時候,有的時候怕程式會出問題,就會在可能出問題的地方用...
關於python的編碼問題的一點記錄
我們都知道python是一門世界通用的程式語言,如果它的源 檔案中出現的都是ascii支援的字元,那python會以ascii編碼的格式處理程式。不過,一旦源 中出現了ascii不支援的字元,它該怎麼辦?我用一張圖來回答你吧 也就是說,所有超出ascii範圍的字元的處理工作,無論在輸入之前,或者輸出...