[python] printy v češtině na WINDOWS/cmd konzoli nečitelné
petrofF
petr0ff na seznam.cz
Neděle Květen 9 08:01:35 CEST 2010
> Do toho sitecustomize.py bych to necpal. Je to soubor v podstatě
> vázaný na počítač. Pokud by aplikace na něco takového spoléhala,
> nedala by se rozumně instalovat jinde.
Přenositelnost zatím ještě neřeším. Šlo o to přechodně zajistit
fungování (konkrétní comp/verze Pythonu) (raw_)input i na win-konzole
(pro studijní/testovací účely).
> Přimlouvám se o naprostý přechod k Unicode -- jinak s tím bude
> problém vždycky. Nebo se musí přinejmenším neunicodový řetězec
> převést na Unicode řetězec (v kódování podle zdrojového textu)
> a při výstupu určit kódování přes sys.stdout.encoding nebo
> sys.stderr.encoding.
Problém s Unicode v IDLE:
(Coby beginner) si cením možnosti v IDLE-konzoli editovat definice
(function,class) jako celek a hlavně jednoduchého copy-paste mezi
editorem .py modulu a konzolí
(jiné IDE toto bez dodatečných úprav neumožňují, protože používají
výpustku "... " )
Bohužel:
print u"české_unicode"
se zobrazí správně jen pokud je vykonán spuštěním modulu (kde se
vyskytuje)
Pokud zadám přímo v IDLE-příkazovém interpretu např.:
uDia = u'ěščřžýáíéóúůďťňĚŠČŘŽÝÁÍÉÓÚŮĎŤŇ'
print uDia
výsledek je:
ìèøýáíéóúùïòÌÈØÝÁÍÉÓÚÙÏÒ
Nevím proč tomu tak je:
getdefaultencoding() ascii
sys.stdin.encoding cp1250
sys.stdout.encoding cp1250
(platí jak v interaktivním režimu tak i při Run Module)
[IDLE version 1.2 Python version 2.5]
A zda se s tím nedá něco udělat - konfigurace, nová verze...
Další informace o konferenci Python