[python] URL kódování

Ivo Štolpa pussa na pussa.cz
Úterý Květen 24 21:41:48 CEST 2005


Milon Krejca napsal(a):

> ... nemela by ta funkce byt spis 'quote' ?
>  
> ________________ Original message ________________
> Subject: [python] URL kódování
> Author: "Ivo Štolpa" <pussa na pussa.cz>
> Date: 24th May 2005 8:23:2
>  
> Zdravím všechny,
>
> používám CherryPy. Teď bych potřeboval předávat jako parametr řetězec i
> českými znaky. Takový parametr se převede na URL kódování. Do funkce je
> tentoparametr předáván tedy v URL kódování. A tady začíná můj problém,
> který asi vyplývá z nepochovení vnitřních mechanizmů. Parametr v URL
> kódování jsem převedl pomocí urllib.unquote(parametr). Všude pracuji v
> UTF-8. A tady jsem poněkud zmaten. Výsledkem unquote je prý ASCII
> řetězec, ale obsahuje původní české znaky (a řekl bych, že v utf-8) což
> způsobuje, že jako ASCII to nefunguje, ale jako utf-8 taky ne. Pokušel
> jsem se na to jít přes překódování přes unicode(řetězec,'utf-8'), ale
> pořád se to chová jinak, než řetězce, které poskládám v jiných funkcích
> přímo. Pro úplnost skládám SQL dotazy a ten parametr má být hledaný text.
>
> Prosím nevíte někdo, kde dělám chybu? Nebo neexistuje v CherryPy jiný
> způsob, jak udělat totéž (i když s přímo s CherryPy to asi nemá nic
> společného)?
>
> Díky, za jakékoliv nakopnutí.
> 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
> ***********************************************
>
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Python mailing list
>Python na py.cz
>http://www.py.cz/mailman/listinfo/python
>
To asi neměla. Když uživatel zapíše do textového pole nějaký český text 
a odešle, nebo je tento text součástí odkazu, pak se udělá quote a v 
prohlážeči je vidět tento text již zaqoutovaný jako součást adresy. V 
tomto stavu to dostane CherryPy a parametr je předán do funkce 
default(self, parametr). No a uvnitř funkce musím udělat unquote. 
Problém je buď v logice věci a všechno se to má udělat jinak a nebo v 
tom jak unquotovaný řetězec dostat do správného kódování (teoreticky do 
jakéhokoliv).

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