[python] URL �

Ivo Štolpa pussa na pussa.cz
Středa Květen 25 14:25:51 CEST 2005


Když už jsem načal UTF kódování, tak bych ho taky měl uzavřít.
Děkuji všem za příspěvky. Sice mi nepomohly přímo, ale tím, že mě 
utvrdili, že starnu, blbnu a plešatím.

Takže závěr je tento:
Ze stránek by se to mělo do Pythonu dostat v tom samém kódování jaké má 
stránka. Někdy tomu tak ale není (?).
Můj pokus o unquote je zcela zbytečný, protože, pokud vím, že stránky 
jsou v utf-8 (a to vím, protože je generuji tím samým programem, kterým 
pak přijímám onen výsledek) tak stačí přijatý parametr převést na 
pythonovský unicode pomocí parametr.decode('utf-8') a je to.
Po poskládání selectu to pak z vnitřních důvodů překlápím do utf-8 (což 
se děje pomocí dotaz.encode('utf-8'))
Klient Firebirdu to pak automaticky překonvertuje do vnitřního kódování 
databáze a výsledek zase z vnitřního kódování databáze převede do utf-8.

Takže nakonec bylo všechno moje chyba. Až po určitém čase jsem si 
uvědomil, že to nepadá kvůli špatnému překódování celého dotazu, ale 
kvůli neschopnosti Interbase/Firebirdu překódovat předaný řetězec uvnitř 
dotazu. Implicitně je považuje za ASCII. V jiných případech je to nutné 
explicitně udat. Tedy např:

SELECT * FROM TABULKA WHERE SLOUPEC CONTAINING 'čelisti'

způsobí chybu. Musí se to napsat takto:

SELECT * FROM TABULKA WHERE SLOUPEC CONTAINING _WIN1250 'čelisti' 
COLLATE PXW_CSY

To už ale patří do jiné konference.
Ještě jednou se omlouvám a všem, co odpověděli děkuji.

-- 
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