2012-08-06 31 views
8

。當我嘗試這樣在終端:蟒紋的unicode不顯示我正在使用Ubuntu 12.04 LTS正確的符號

[email protected]:/usr/share/fonts/truetype/ttf-dejavu$ echo вдлжофыдвж 
вдлжофыдвж 

的符號正確顯示。但是,如果嘗試使用Python 2.7打印Unicode的符號,我得到這樣的:

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

由於蟒蛇表演我有UTF-8編碼默認情況下,終端:

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

您能得到什麼的'再版(u'абв')'? – 2012-08-06 17:27:31

+0

會發生這種情況在Python 3.2? 'unicode('абв')'呢? – 2012-08-06 17:27:31

+0

>>>再版( 'абв') 「 '\\ \\ XC1 XC2 \\ XD7'」 – sunprophit 2012-08-06 17:28:43

回答

5

你輸入被不適當地破譯終奌站。這不是Python問題。

爲了證明這一點,使用Unicode表示:

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

如果不打印原始字符串абв兩次,那麼你需要正確地配置您的終端仿真程序。

+1

非常好,我已經改變所接收的數據字在油灰配置設置爲UTF-8。現在它可以工作。 – sunprophit 2012-08-06 18:11:04