[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