fileinput设置编码python_Python的各种编码设置
之前我們編寫了一個python操作數據庫的方法,按照文檔的提供的參數來寫,寫完了以后自己測試發現報了一個編碼的錯誤,也不知道為什么會報這個錯誤,我一般對編碼的錯誤比較在意,原來搞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')
看來應該先設置好編碼類型,再讀取數據就不會出錯了。
總結
以上是生活随笔為你收集整理的fileinput设置编码python_Python的各种编码设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python自动化开发教程_Python
- 下一篇: java图片上传下载_java web