我使用的是 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'
最佳答案
终端未正确破译您的输入。这不是 Python 问题。
为了证明这一点,使用 unicode 表示:
myunicode = u'\u0430\u0431\u0432'
print myunicode
print myunicode.encode('utf-8')
如果这没有打印原始字符串 абв
两次,那么您需要正确配置您的终端仿真器程序。
关于Python 打印 unicode 不显示正确的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11832997/