[python] Exec a unicode problem

Pavel Kosina geon na post.cz
Čtvrtek Leden 10 12:10:27 CET 2008


David Michal napsal(a):
> Prave ze to tak neplati uplne. Zkus si spustit tohle:
> #!/usr/bin/python
> #-*- coding: utf8 -*-
>
> print sys.stdout.encoding  # tady jsem to upravil-geon
> def out(text):
>     print type(text), unicode(text, 'utf8')
>    
> s = 'Žlutý kůň.'
> script1 = "out(s)"
> script2 = "out('Žlutý kůň.')"
>
> out(s)
> exec(script1)
> exec(script2)
>
> exec zrejme kodovani uvedene v hlavicce scriptu nebere v potaz. Skonci to chybou.
>   

Nevím jak na jiných systémech a jak je moc exec "nestandardní", ale u 
mne xp sp2, python 2.5 to chybou neskončí.:

cp852
<type 'str'> Žlutý kůň.
<type 'str'> Žlutý kůň.
<type 'str'> Žlutý kůň.
 >>>

Chová se to správně podle předpokladů. Jinak očekávám mohutný příspěvek 
od pepra, kde budeš vše náležitě vysvětleno ;-)

-- 
geon
Pavel Kosina



Další informace o konferenci Python