我有一本包含一些 Unicode 字符的字典,并且我使用的控制台设置为打印 UTF-8,但是当我尝试从字典中打印密钥时,我得到了一个错误。
import sys
print u'\xc9'
print sys.stdout.encoding
unicode_dict = {u'a': 3,
u'b': 4,
u'c': 5,
u'\xc9': 1,
u'\xc8': 2}
for k, v in unicode_dict.iteritems():
print "{0}: {1}".format(k, v)
当我运行此代码时,我收到以下错误:
É
UTF-8
a: 3
Traceback (most recent call last):
File "unicodetest.py", line 12, in <module>
print "{0}: {1}".format(k, v)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xc9' in position 0: ordinal not in range(128)
这里发生了什么?为什么 print 给我这个错误?