无法在Python 2中打印Unicode比特币符号

时间:2015-10-10 13:14:39

标签: python unicode

我正在尝试在Python 2中打印Unicode比特币符号if score1_list[intCount] > intH1: intH1 = score1_list[intCount] and strHN1 = name_list[intCount] if score2_list[intCount] > intH2: intH2 = score2_list[intCount] and strHN2 = name_list[intCount] if score3_list[intCount] > intH3: intH3 = score3_list[intCount] and strHN3 = name_list[intCount] if total_list[intCount] > intHT: intHT = total_list[intCount] and strHNT = name_list[intCount]` 。我尝试添加\u2043

#-*- coding: utf-8 -*-

提高$ python2 -c 'print u'\u0243'' 。但是,从Python shell执行此操作。

UnicodeEncodeError: 'ascii' codec can't encode character u'\u0243' in position 0: ordinal not in range(128)

为什么这段代码不起作用?

$ python2
>>> print u'\u0243'
Ƀ

1 个答案:

答案 0 :(得分:1)

在Unix上,如果sys.stdout.isatty()返回Truesys.stdout.encoding'ANSI_X3.4-1968'(ascii),那么您应该配置您的语言环境(检查LANG,{{1 }},LC_CTYPE envvars)如果需要打印非ascii字符,则使用非ascii编码。

如果LC_ALL为false,则在脚本之外配置sys.stdout.isatty() envvar 始终打印Unicode,不要在脚本中硬编码环境的字符编码。