Strona 1 z 1

[Python] unicode w IDLE Python brak polskich znaków

: 05 cze 2013, 19:02
autor: bialcus
Witam,
Mam problem z polskimi znakami:

Kod: Zaznacz cały

>>> errmsg = u"Nie można otworzyć pliku"
>>> print errmsg
Nie można otworzyć pliku
>>> errmsg = "Nie można otworzyć pliku"
>>> print errmsg
Nie można otworzyć pliku
Unikod powinien wyświetlić jednak polskie znaki prawda? Ubuntu 12.10, python v 2.7.3

dzięki i pozdrawiam

Re: [Python] unicode w IDLE Python brak polskich znaków

: 05 cze 2013, 19:10
autor: ethanak
nie, nie powinien. do tego masz metodę encode.

Re: [Python] unicode w IDLE Python brak polskich znaków

: 05 cze 2013, 19:14
autor: bialcus
Robię to samo w terminalu i wszystkie polskie znaki są. To jest przykład z książki "Zanurkuj w Pythonie". Jest napisane że:
"Wypisując dowolny unikod, Python go zakoduje w taki sposób, aby był zgodny
z kodowaniem znaków wyjścia, a więc dany napis zostanie zawsze wypisany z
polskimi znakami."

edit: To jest wina samego IDLE, takie odnoszę wrażenie.

Re: [Python] unicode w IDLE Python brak polskich znaków

: 05 cze 2013, 20:21
autor: ethanak
Bzdura.

Re: [Python] unicode w IDLE Python brak polskich znaków

: 05 cze 2013, 20:23
autor: bialcus
Ale co bzdura? Właśnie sprawdzałem jeszcze inne ide pythona dreampie i wszystkie polskie znaki są.

Re: [Python] unicode w IDLE Python brak polskich znaków

: 05 cze 2013, 20:26
autor: ethanak
Nigdzie w pythonie nie ma, że jak wywalasz unicode na wyjście to automagicznie przekształci to na utf-8 (czy co tam masz).

Re: [Python] unicode w IDLE Python brak polskich znaków

: 05 cze 2013, 20:29
autor: bialcus
Dobra, tylko dlaczego TYLKO i wyłącznie w IDLE mam taki problem? Próbowałem w ustawieniach zmieniać kodowanie z marnym skutkiem.

Re: [Python] unicode w IDLE Python brak polskich znaków

: 05 cze 2013, 20:41
autor: ethanak
A w Cythonie nie masz? Ciekawe...

Re: [Python] unicode w IDLE Python brak polskich znaków

: 05 cze 2013, 20:44
autor: bialcus
Czy ja pisałem o innych interpretacjach pythona? Nie. Chodzi tylko po powłokę.

Re: [Python] unicode w IDLE Python brak polskich znaków

: 05 cze 2013, 20:47
autor: ethanak
Oj przepraszam.
Ogólnie naucz się że Python wewnętrznie wspaniale działa na unicode, ale operacje IO na unicode leżą i kwiczą. Zawsze konwertuj na string (we właściwym kodowaniu) - wtedy nie będziesz mieć problemów.

Re: [Python] unicode w IDLE Python brak polskich znaków

: 05 cze 2013, 20:50
autor: bialcus
Dzięki bardzo ethanak, jako jedyny mi w jakiś sposób pomogłeś. Nawet polskie forum pythona prawie nic się nie odezwało.

pozdrawiam