[python] TakVámNevím

Pavel Kosina geon na post.cz
Úterý Prosinec 30 12:25:16 CET 2008


Tovim napsal(a), dne 30.12.2008 11:42:
>
> 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.
>

zkusil jsem toto:

kůň = "Žluťoučký kůň pěl ďábelské ódy"
print (kůň)

a vytisklo se mi toto: Žluťoučký kůň pěl ďábelské ódy

Chyba bude u Tebe. Jsi si jistý, že ten druhý soubor je uložen v 
kodovani utf-8? Raději bych na ověření a opětné uložení použil PSPad.
Když v IDLE založíš další nový soubor (při nastaveném utf-8), tak ti to 
dělá taky? A v PSPadu? Není třeba deklarovat utf-8, je třeba však ho mít 
skutečně použito.

-- 
geon
Pavel Kosina



Další informace o konferenci Python