2013-08-26 16 views
6

Jestem nowy dla Pythona. Próbuję wydrukować znaki akcentowane, tak:Drukowanie znaków akcentowanych w Pythonie 2.7

# -*- coding: utf-8 -*- 
    print 'éàÇÃãéèï' 

Ale gdy wykonanie tego kodu, otrzymuję:

>> ├®├á├ç├â├ú├®├¿├» 

używam 64-bitowego systemu Windows 7 & Python 2.7.5 mam kod w file.py i wykonać go z

python file.py 
+0

Jaka wersja Pythona? (i jakie jest kodowanie terminala, do którego drukujesz?) – geoffspear

+6

Komentarz 'kodowanie: utf-8' ma tylko * cel, aby umożliwić interpreterowi prawidłowe interpretowanie literałów łańcuchowych. Ma ** nic ** do czynienia z drukowaniem lub wyprowadzaniem znaków. W twoim przypadku twój terminal wydaje się używać innego kodowania. Spróbuj sprawdzić, które kodowanie jest zwracane przez 'sys.getdefaultencoding' i' sys.stdout.encoding'. – Bakuriu

+0

Działa to idealnie dla mnie i używam Pythona 2.7, a także Windows 7 64bit, proszę podać więcej szczegółów na temat wersji, której używasz i czy zapisujesz ją do pliku, czy nie? – badc0re

Odpowiedz

3

Jak wspomniano Wooble, jeśli zmienisz

print 'éàÇÃãéèï' 

do

print u'éàÇÃãéèï' 

To powinno działać.

Oto dobry wstęp do Unicode w Pythonie (zarówno dla 2.x i 3): The updated guide to unicode

Powiązane problemy