[python] TakVámNevím

Filip Štědronský regnarg na seznam.cz
Úterý Prosinec 30 12:35:21 CET 2008


Dne 30.12.2008 11:42:28 napsal Tovim:
> Zdařbůh.
> 
>  Zkouším si jak Python 3.0 umí či neumí háčky a čárky na jednoduchém
> prográmku ( b = „nová šalvěj“ / print (b) ). Tento program mám v
> souboru faa.py s deklarací (__*__coding:utf=8__*__) a v souboru 
> fab.py
> bez deklarace. Zařídil jsem si, že interaktivní konzoli mohu otevřít
> dvojklikem na souboru.py.
> 
>  
> 
> Dvojklik na faa.py bez problému otevře konzoli s výstupem ‚nová
> šajvěj‘. Mohu pokračovat >>> import faa a třeba >>> print(faa.b)
> à‘nová šalvěj‘.
> 
>  
> 
> Když totéž udělám na souboru fab.py (bez deklarace), dostanu
> SyntaxError: Non-UTF-8 code starting with ‘ \xe1‘ in file
> C:\Test\fab.py on line 3, but no encoding declared – neboli stížnost,
> že mám v programu nedeklarované kódování.
> 
>  
> 
> Když nedeklarované, tak nedeklarované, jenomže když soubor faa.py
> otevřu a spustím v IDLE, dostanu zkomolený výstup a mohu si v
> konfiguraci IDLE nastavit co libo (Locale-defined, utf-8, None), nic
> platno.
> 
>  
> 
> Když v IDLE otevřu a spustím soubor fab.py bez deklarace, dostanu ‘
> nová šalvěj ‘ bez nejmenšího uzardění.
> 
>  
> 
> Mohl by mi někdo poradit, zda tento rozpor lze odstranit a jak? 
> Děkuji
> a přeji štěstí, zdraví, dlouhá léta.
> 
> Tovim

Dobrý den,

pokud byly soubory vytvořeny v IDLE nebo jiném pythoním editoru,
mohl by problém tkvít právě tam, protože takové editory často 
berou samotnou deklaraci coding jako nápovědu, v jakém kódování
soubor uložit. Takže rozdíl mezi deklarací a její nepřítomností
nejspíš není podstatný při spuštění, ale při uložení, protože
bez ní to může editor uložit ve výchozím kódování systému (tedy
ve Vašem nešťastném případě nejspíš windows-1250)...

Změna nastavení editoru (výchozí kódování, příp. nastavení při
ukládání) by to měla vyřešit.

Hodně stěstí,
regnarg

-- 
regnarg na matfyz.czhttp://regnarg.matfyz.czregnarg na jabber.cz
————————————————————————————————————————————————————————————————
Každý člověk je anděl s jedním křídlem a dva se musí pevně držet
 spolu, aby mohli létat  •  Láska a přátelství nikdy nezklamou,
zklame vždy člověk • Jediné, co je krásnější, než dávat štěstí,
je dávat lásku • I když lidé nevědí, co je dobro, mají ho v sobě



Další informace o konferenci Python