[python] Python(CherryPy) a cestina

Ivo Štolpa pussa na pussa.cz
Pondělí Červen 27 12:19:18 CEST 2005


Vladimír Hloušek napsal(a):

>Dne neděle, 26. června 2005 18:39 dmarko na tiscali.cz napsal(a):
>  
>
>>Pouzivam CherryPy a mam problemy s cestinou v nekterych oblastech. Nemam
>>problem cestinu zadavat ani zobrazovat a pres SQLObject ukladat do
>>databaze. Pokud vsak chci na retezec s ceskymi znaky aplikovat nejakou
>>Python funkci, se zlou se potazu. Napr. pokud mam cesky retezec a chci jej
>>prevest na velka pismena  ( "ěščřžýáí".upper() ). Zkousel jsem
>>ruzne varianty nastavovani # -*- coding: xxx -*- ale nic. Bud to vyhazuje
>>chybu nebo se znaky s diakritikou na velka pismena neprevedou. Muzete
>>nekdo poradit?
>>    
>>
>
>Nepomohlo by nastavit správně locale?
>
>print "řčššě".upper()
>	řčššě
>import locale; locale.setlocale(locale.LC_ALL, "cs_CZ")
>	'cs_CZ'
>print "řčššě".upper()
>	ŘČŠŠĚ
>
>V. Hloušek
>_______________________________________________
>Python mailing list
>Python na py.cz
>http://www.py.cz/mailman/listinfo/python
>
>  
>
Pomáhá. Pokud ale všude pracuji v utf-8, problém zůstává. Mám nastaveno 
# -*- coding: utf-8 -*-, přímo do zdrojového kódu zapisovaný řetězec 
tedy je v utf-8. Když zapnu locale je zapisovaný řetězec v iso8859-2 
(cs_CZ) nebo cp1250 (czech) a to bez ohledu na #-*-.... Funkce upper 
proběhne opravdu správně, ale výsledek se opět musí převést do utf-8 
(pokud to potřebuji). Pokud se s tímto počítá je to možná cesta, ale jde 
o cestu z bláta do louže. Trochu mne to mrzí protože sqlite mám v utf-8, 
GTK jede v utf-8 a mezi tím je Python, kde s tím občas musím pěkně 
cvičit. To se týká i CherryPy, kde také generuji stránky kódované v 
utf-8. Já ale tento dotaz nepoložil, takže tazateli možná šlo o něco 
jiného, nebo některá z odpovědí mu již postačuje.

ivo

-- 
Ing. Ivo Štolpa

***********************************************
PUSSA software, Žižkova 13, 58601 Jihlava
e-mail: pussa na pussa.cz, ivo.stolpa na seznam.cz
stránky: http://www.pussa.cz
mobilní telefon: 602 735 124
pevná linka: 567 320 386
fax: 602 783 071
***********************************************





Další informace o konferenci Python