[python] printy v češtině na WINDOWS/cmd konzoli nečitelné

Koumes21 koumes21 na gmail.com
Úterý Duben 27 20:28:54 CEST 2010


To s tím cp852 je tuším pravda, ale aby to bylo skutečně univerzální a
přenosné, je lepší použít sys.stdout.encoding

k21

2010/4/27 Hynek Fabian <hynek.fabian na firma.seznam.cz>:
> petrofF (úterý 27 Duben 2010 19:03:16):
>> V PyDev/Eclipse je zobrazení (Pydev Console) v pořádku:
>> - v editoru nastavené kódování cp1250
>> - uvozeno: # -*- coding: cp1250 -*-
>> Tentýž script.py je v konzoli (Python 2.5 / Windows XP / cmd: default
>> CP=1250) zobrazen chybně:
>> Např.:
>>  [0x82] é se zobrazí jako Ú
> To bude mít možná nějakou souvislost s tím, že dlouhé e není 0x82 ale 0xE9 :-)
>
> konstrukce #-*- coding: cp1250 -*- má vliv pouze na řetezcové literály v kódu,
> jestli čteš data odjinud, musíš si je dekódovat sám.
> Totéž se týká výstupu, příkaz print respektuje nastavení prostředí, metoda
> write() prostě bleje bajty a překódování je zase na tobě.
> V *nixu je prostředí řízeno LC_ALL, jak to řeší wydle netuším. Ale mám
> nepříjemný pocit že cmd.exe simuluje v českých wydlích dosovskou cp852.
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>


Další informace o konferenci Python