[python] Problem s unicode.
Michal Molhanec
molhanec na seznam.cz
Pondělí Duben 7 16:14:02 CEST 2008
Pavel Kosina napsal(a):
> David Michal napsal(a):
>> No pockej ale presne tohle tam mam:
>>
>>
>> def out(text):
>> print unicode(str(text) + '\n', 'utf8')
>>
>> tzn. Ze bych mel nejak zjistit kodovanu terminal jeste pred printem. To udelam jak ?
>>
>
> Být tebou, ještě jednou prověřím, že je soubor, vlastně oba dva soubory
> (program i soubor s texty) skutečně v kodovani utf8. Tam se vznikají
> chyby nejvíce.
>
> Jinak terminály pod Linuxem bývají dnes utf-8, pod Windows cp852, takže
> pro windows platí:
>
> # -*- coding: utf-8 -*-
> text="Žlutý kůň"
>
> textUnicode= unicode (str(text), "utf-8") # převod na unicode
> print textUnicode # tiskne správně
>
> textTerminal = textUnicode.encode("cp852") # převod na kodovaní windows
> konsole
> print textTerminal # tiskne správně
>
ja bych volil
import sys
textTerminal = textUnicode.encode(sys.stdout.encoding, 'ignore')
to by mohlo fungovat vsude
Další informace o konferenci Python