UnicodeEncodeError: 'ascii' codec can't encode characters in position问题的解决办法

时间:2023-03-08 17:51:49

今天刚开始用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

下图为运行结果

UnicodeEncodeError: 'ascii' codec can't encode characters in position问题的解决办法