[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