Oracle 系统管理 - Linux 系统 - Backtrack 5 - 安全 - Juniper 技术 - Cisco 技术 - 思科模拟器 - Cisco 认证 - Cisco ios 下载

您现在的位置是:Docker > Python运维 > UnicodeEncodeError: 'ascii' codec can't encode characters

UnicodeEncodeError: 'ascii' codec can't encode characters

时间:2018-06-12 14:07  来源:未知  阅读次数: 复制分享 我要评论

在linux centos系统中使用python2.7.2对一个字符串解码然后输出,代码如下: 

s = "哈哈哈"

print s.decode('utf-8')

 

结果报了如下的错误:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

然后在代码前使用了:

import sys
reload(sys)

sys.setdefaultencoding('utf-8') 

这个编码设置,运行依然报如上错误。

从输出看,解码是没问题的,反而是编码出了问题,应该是当前环境下print时候编码出的问题

于是,将代码改为:

print (s.decode('utf-8')).encode('gb2312')

结果没问题了。

所以在使用 print 的时候,要注意环境所需的编码。

相关资讯