[python] freeze,kodovani

Vlada Macek tuttle na sandbox.cz
Pátek Září 19 21:37:43 CEST 2008


Petr Zlamal wrote:
> Pratele,
> Ve skriptu pouzivam prikaz print v takovemto formatu:
> print unicode("konfigurační soubor: ","utf-8")
> Skript funguje tak jak ma. Problem nastane az s binarkou, kterou
> vytvorim pomoco cx_freeze. Po spusteni binarky se vypise chyba:
> UnicodeEncodeError: 'ascii' codec can't encode character u'\u010d' in
> position 9: ordinal not in range(128)
> Vi nekdo jak odladit tento problem, krom vyhozeni ceskych znaku:))

Vy sice dekodujete z UTF-8 do unicode, ale vystupni enkodovani nechavate
anarchii. Prostredi, ve kterem nefreeznuty skript poustite, zrejme
pouziva takove vychozi kodovani, ktere je kompatibilni a "nejak" se to
prelozi.

Kazdopadne byste mel osetrit vystup: Tedy za znalosti kodovani, ktere
zvlada zobrazit terminal, na kterem skript bezi upravte skript takto:

print unicode("konfigurační soubor: ","utf-8").encode("utf-8")

pokud mate na zacatku skriptu definovane kodovani zdrojaku, melo by
stacit toto:

print u"konfigurační soubor".encode("utf-8")

-- 
\//\/\
http://macek.sandbox.cz

------------- další část ---------------
A non-text attachment was scrubbed...
Name: tuttle.vcf
Type: text/x-vcard
Size: 527 bytes
Desc: [žádný popis není k dispozici]
URL: <http://www.py.cz/pipermail/python/attachments/20080919/a6c45a4a/attachment.vcf>


Další informace o konferenci Python