python設置utf-8為默認編碼


當使用Python編程時,編碼問題一直很讓人頭疼,程序中經常會碰到如下錯誤提示:

UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)

這是由於python在安裝時,默認的編碼是ascii,當程序中出現非ascii編碼時,python的處理常常會報上面的錯誤。

對於上面問題,一般有2種處理方法:

方法1:

在python代碼開頭加上如下代碼塊:

 

[python]  view plain  copy
 
  1. import sys  
  2. reload(sys)  
  3. sys.setdefaultencoding('utf8')  

這種方法是臨時的,只在程序執行時生效,系統默認編碼並沒有改變。

 

方法2:

python安裝時默認編碼是ascii,通過sys.getdefaultencoding()可以查看默認編碼。為了一次性解決問題,我們可以修改python的默認編碼。具體操作如下:

第一步:

在python安裝目錄的Lib\site-packages文件夾下新建一個sitecustomize.py文件

第二步:

在sitecustomize.py填寫如下代碼

 


 
  1. # encoding=utf8  
  2. import sys  
  3.   
  4. reload(sys)  
  5. sys.setdefaultencoding('utf8')  

第三步:重啟python,通過sys.getdefaultencoding()查看默認編碼,這時結果為'utf8'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM