无法打印unicode字符串

时间:2015-08-22 13:30:26

标签: python unicode python-unicode

我正在使用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

如何解决?

3 个答案:

答案 0 :(得分:1)

尝试执行以下操作:

newStr = str.encode("utf-8")
print newStr

P.S。如果用另一种语言出现这个问题,可以在将它们写入文件时查看字母。

答案 1 :(得分:0)

就我而言,我在IDE中更改了编码设置。我使用PyCharm。

转到:“文件->设置...->编辑器->文件编码”,然后将所有内容更改为所需的字符集。 希望对您有所帮助。 Where to change File Encodings

答案 2 :(得分:-1)

要打印有效的Unicode字符串,请使用print(unicode_string)

该错误表明您使用的是Windows。要在Windows上打印Unicode,请参阅this answer - 它适用于Python 3.4,但它适用于Python 2.7,只需稍作修改。