UnicodeEncodeError: 'ascii' codec can't encode characters in position問題的解決辦法


今天剛開始用ulipad寫python代碼

代碼如下

#! /usr/bin/env python
#coding=utf-8
a = int(raw_input('請輸入一個數:'))
if a<10:
print u'%d小於10'%a
elif a==10:
print u'%d等於10'%a
else:
print u'%d大於10'%a

運行時發現中問總是亂碼,於是百度發現ulipad識別的編碼為gbk,於是我將coding里的utf-8改為gbk

#! /usr/bin/env python
#coding=gbk
a = int(raw_input('請輸入一個數:'))
if a<10:
print u'%d小於10'%a
elif a==10:
print u'%d等於10'%a
else:
print u'%d大於10'%a

發現還是亂碼

查閱資料,在代碼開始添加三行代碼

import sys
reload(sys)
sys.setdefaultencoding( "gbk" )

就可以了。整體代碼如下

#! /usr/bin/env python
#coding=gbk
import sys
reload(sys)
sys.setdefaultencoding( "gbk" )
a = int(raw_input('請輸入一個數:'))
if a<10:
print u'%d小於10'%a
elif a==10:
print u'%d等於10'%a
else:
print u'%d大於10'%a

下圖為運行結果


免責聲明!

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



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