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

petrofF petr0ff na seznam.cz
Pátek Březen 31 13:30:56 CEST 2017


> 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