[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