我正在使用dbf数据库和亚美尼亚字母,但DBF编码未知,因此我创建了一个字母映射来解码恢复的字符串。现在,我有一个有效的Unicode字符串,但是由于此错误,我无法将其打印出来:
UnicodeEncodeError:'charmap'编解码器无法编码位置0-5处的字符:字符映射到
到目前为止我尝试过的:
print u'%s' %str ## Returns mentioned error
print repr(str) ## Returns string in this form u'\u054c\u0561\u0586\u0561\u0575\u0565\u056c
如何解决?
尝试执行以下操作:
newStr = str.encode("utf-8")
print newStr
P.S。如果使用另一种语言存在此问题,则可以在将字母写到文件中时查看它们。
要打印有效的Unicode字符串,请使用print(unicode_string)
。
该错误表明您正在使用Windows。要在Windows上打印Unicode,请参见this answer -适用于Python 3.4,但应在经过少量修改的情况下适用于Python 2.7。