Portál AbcLinuxu, 19. června 2024 09:32
Toto si myslí "specialista na vyhledávání v češtině" - vyhledávač Morfeo. Zkuste si vyhledat něco ryze českého, tedy nějaké slovo s diakritikou. Budete se divit.
Potřeboval jsem něco vyhledat a jak Google, tak ani Seznam nepodávaly uspokojivé výkony. Proto jsem zkusil použít další vyhledávač, a tím bylo Morfeo - právě ten vyhledávač, který používá portál Centrum. Požadovaný text jsem napsal a odeslal na server. Žádné stránky nebyly nalezeny. To bylo velice podezřelé. Ovšem vzápětí jsem si všiml něčeho co mě pořádně zarazilo.
Celá stránka s výsledky byla nikoli v češtině, nýbrž v "cestine", a z vyhledávaného slova byly nevhodné znaky prachsprostě odstraněny. Říkám si: problém s kódováním. A zkouším jiné nastavení kódování. Výsledky stále stejné. Už mi bylo téměř jasné, že problém bude s hlavičkou User-Agent
(Konqueror mu třeba nevoní), proto jsem nastavil MSIE 6 pod XP a odeslal dotaz. A všechno proběhlo tak, jak má.
Aha, tak Konqueror to nezná a proto předpokládá, že umí jen ASCII. Tak schválně, co to udělá, když se mu nastaví MSIE 6, ovšem už ne pod XP. A je to tady: opět bez češtiny. Takže ne Konqueror, nýbrž Linux mu nevoní. Situace se je ale mnohem zajímavější. Ovšem pozor - některé prohlížeče (např. Opera 9, Mozilla 1.7.x nebo Netscape 7.1) jsou brány na milost, kdežto jiné nikoli (Firefox 1.0, Opera 7.53, Mozilla 1.2 apod.), a to přesto, že pro jejich windowsovské kolegy funguje vše správně.
Největší legrace ale teprve přijde. Zkuste schválně v Konqueroru nastavit identifikaci jako libovolný prohlížeč pod Mac OS X nebo Mac PPC. Můžete se pak pokochat čajem místo písmen. Morfeo totiž pošle stránku v macovském kódování (které Konqueror zřejmě nezvládá), aniž by ho o to někdo žádal - v HTTP hlavičce Konqueror označuje jako preferované kódování UTF-8.
Je zajímavé, jakou práci si dali vývojáři Morfea, aby rozebírali hlavičku User-Agent
a na jejím základě vymýšleli, jak naložit s obsahem. Současně totiž ignorují další HTTP hlavičky, přinejmenším Accept-Charset
. Navíc znakové sada v hlavičce Content-Type
v odpovědi většinou chybí (!), kromě onoho macovského kódování (i když v případech, kdy s češtinou naloží správně, znakovou sadu uvádí). Příslušný META tag v HTML pak chybí ve všech případech.
Působí velice komicky, když si tak diletantsky implementovaný vyhledávač říká "specialista na vyhledávání v češtině", a přitom s tou češtinou nakládá tak macešsky. A absolutně nerozumím tomu, proč to není uděláno standardním způsobem (podle Accept-Charset
), což by bylo podstatně jednodušší. Portál Centrum samozřejmě toto beze zbytku přebírá, proto se stejného chování dočkáme i tam (možná je rozdíl jen v obrázcích na stránkách).
Tiskni
Sdílej:
Jen mě překvapilo, že někdo (firma takového významu; i když i z pohledu českého trhu je to stejně spíš trpaslík) něco dělá složitě a blbě, když to jde jednoduše a dobře.Mě ne :D
Vsechny servery ktere spadaji pod NetCentrum pouzivaji modul mod_czech v Apachi ktery se o toto prekodovavani do ruznych kodovani stara. Vice informaci ohledne mod_czech lze urcite vygooglit.
Chovani toho do jakeho kodovani se stranka prekoduje jde trosku ovlivnit. Napriklad pokud chci stranku ciste v ASCII, staci nacist stranku http://morfeo.cz/asc a stranka bude jen v ascii kodovani. Pokud chci stranku v kodovani UTF8, staci nacist http://morfeo.cz/utf.
Takto lze servery pouzivajici modul mod_czech prohlizene pres "nepodporovany" browser donutit zasilat text s diaktritikou.
mod_czech
používal a už tehdy se přednostně orientoval podle Accept-Charset
. Navíc se zmršenou konfigurací, protože defaultní konfigurace odjakživa linuxovým prohlížečům posílala ISO 8859-2.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.