小編給大家分享一下解決python編碼錯誤的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)公司擁有網(wǎng)站維護技術(shù)和項目管理團隊,建立的售前、實施和售后服務(wù)體系,為客戶提供定制化的成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)站維護、中國電信成都樞紐中心解決方案。為客戶網(wǎng)站安全和日常運維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護服務(wù)覆蓋集團企業(yè)、上市公司、外企網(wǎng)站、商城開發(fā)、政府網(wǎng)站等各類型客戶群體,為全球上千家企業(yè)提供全方位網(wǎng)站維護、服務(wù)器維護解決方案。
遇到問題:print輸入漢字時提示錯誤信息 UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
查找解決辦法
1:了解python編碼格式
在python在安裝時,默認的編碼是ascii,當程序中出現(xiàn)非ascii編碼時,python的處理常常會報這樣的錯,python沒辦法處理非ascii編碼的。
2:如何查詢python的編碼格式
import sys sys.getdefaultencoding()
3:設(shè)置python默認編碼格式
sys.setdefaultencoding("utf-8")
此時在執(zhí)行sys.getdefaultencoding(),就會發(fā)現(xiàn)編碼已經(jīng)設(shè)置為utf-8了,但是在解釋器里修改的編碼只能保證檔次有效,在重啟編譯器后,編碼又被重置為默認的ascii了
一個永久解決的辦法
在python的Lib\site-packages文件夾下新建一個sitecustomize.py,內(nèi)容為:
此時重啟python解釋器,執(zhí)行sys.getdefaultencoding(),發(fā)現(xiàn)編碼已經(jīng)被設(shè)置為utf8的了,多次重啟之后,效果相同。
這是因為系統(tǒng)在python啟動的時候,自行調(diào)用該文件,設(shè)置系統(tǒng)的默認編碼,而不需要每次都手動的加上解決代碼。
看完了這篇文章,相信你對解決python編碼錯誤的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!