2012-08-06 17 views
8

Ben Ubuntu 12.04 LTS kullanıyorum. Bu gibi bir şey denediğimde:Python print unicode doğru sembolleri göstermiyor

Semboller doğru şekilde gösterilmektedir. Python 2.7 kullanarak unicode sembolleri yazdırmak çalışırsanız Ama olsun bu:

Ben terminali için varsayılan olarak utf-8 kodlaması var piton gösterdiği gibi
>>> print u'абв' 
ц│ц┌ц≈ 

: Girişiniz hatalı tarafından deşifre ediliyor

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

'repr (u'абв') 'için ne elde edersiniz? –

+0

Bu, python 3.2'de gerçekleşir mi? Unicode ('абв') 'hakkında ne var? –

+0

>>> repr ('абв') "'\\ xc1 \\ xc2 \\ xd7'" – sunprophit

cevap

5

terminal. Bu bir Python problemi değil. Bu iki kere orijinal dize абв yazdırmak etmezse o zaman doğru terminal emülatörü programı yapılandırmanız gerekir,

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

: bunu kanıtlamak için

, unicode temsilini kullanın.

+1

Harika, macun konfigürasyonunda UTF-8 olarak ayarlanmış veri karakterini değiştirdim. Şimdi çalışıyor. – sunprophit