[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