Autor Zpráva
Shakal
Profil
Caute.
Prosim nebudete mi vediet niekto poradit?
Mam SQL databazu + tabulku zo zoznamom clankov. Niektore z nich obsahuju diakritiku.
Na vyhladavanie chcem pouzit booleanovsky fulltext a na zaklade "vahy" zobrazovat najdene clanky.

Ak napisem nieco taketo:
select autori from clanky where match(autori) against("S. Kavecká" in boolean mode);

tak sa tvari akoby vsetko ok. Paradne vypise zoznam clankov zotriedenych podla vahy (t.j. podla toho kolko krat a kde bolo hladane slovo najdene... .)

ak vsak dam nieco taketo:
select autori from clanky where match(autori) against("Kavička" in boolean mode);

nastava problem, ze hladane slovo akoby rozdelilo na dva. A to na "Kavi" a "ka". (pismeno "č" posobi ako nejaky oddelovaci znak).
Vysledok snad ani nemusim popisovat... (ukaze to vsetky clanky kde sa nachadza spojenie "ka" a "Kavi" co je ale totalna blbost).
Uz som skusal vsetko mozne. Celu databazu aj tabulku som prekonvertoval do utf8 + pouzil collate ale vysledok je stale rovnaky... .
V starsich topicoch (z roku 2005) som sa docital, ze predosle verzie MySQL to nevedeli robit. Ale dnes s verziou 5.x by uz snad nemal byt taky problem ci ano??

Pls poradte. :-(
nightfish
Profil
Shakal
používáš po připojení k databázi
SET NAMES 'kodovani';
kde kodovani je kódování použité na stránce - cp1250, utf8, ...
Shakal
Profil
Nie. Pouzivam CHARACTER SET... . Je tam velky rozdiel?
nightfish
Profil
používej SET NAMES

jinak by možná mohlo pomoct přečíst http://molhanec.net/mysql_cestina_minifaq.html
Toto téma je uzamčeno. Odpověď nelze zaslat.

0