Python打印unicode不显示正确的符号

时间:2012-08-06 17:24:10

标签: python ubuntu python-unicode

我使用的是Ubuntu 12.04 LTS。当我在终端尝试这样的事情时:

rfx@digest:/usr/share/fonts/truetype/ttf-dejavu$ echo вдлжофыдвж
вдлжофыдвж

符号显示正确。但是如果尝试使用python 2.7打印unicode符号,我会得到:

>>> print u'абв'
ц│ц┌ц≈

正如python所示,默认情况下我对终端使用utf-8编码:

>>> sys.stdout.encoding
'UTF-8'

1 个答案:

答案 0 :(得分:5)

终端未正确破译您的输入。这不是Python问题。

要证明这一点,请使用unicode表示:

myunicode = u'\u0430\u0431\u0432'
print myunicode
print myunicode.encode('utf-8')

如果这不能两次打印原始字符串абв,则需要正确配置终端仿真程序。