我有一個字典,有一些Unicode字符,我使用的控制檯設置爲打印UTF-8,但是當我嘗試從字典中打印鍵時,出現錯誤。爲什麼我的字典中的Unicode字符未打印?
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)
這到底是怎麼回事?爲什麼印刷給我這個錯誤?
謝謝!出於某種原因,我認爲,由於格式化函數中有Unicode字符,因此格式化字符串將自動以Unicode編碼。 – supercheetah 2013-02-11 22:45:23