Mailinglisten-Archive |
Hallo und guten Tag! Bislang konnte ich leider keine Hilfe im Netz finden, deswegen nochmal ein Versuch in der Expertenliste ... Server-Informationen: PHP: 4.3.4 MySQL: 4.0.21-Max Auf meiner Website kann man per Formular Suchworte eingeben, die dann Texte in meiner Datenbank finden sollen, also eine einfache Volltextsuche mit MATCH ... AGAINST (). Die Suchworte müssen mindestens vier Zeichen haben, Sonderzeichen sind nicht erlaubt, Umlaute etc. schon. Und da liegt das Problem: In der Datenbank sind alle Texte schon mit zu HTML-Entities gewandelten Zeichen gespeichert (hatte Gründe und lässt sich zu diesem Zeitpunkt *nicht* mehr rückgängig machen), wandele ich nun die Eingaben in diese speziellen Zeichen um, gibt es keine sinvollen Ergebnisse mehr. Suche ich z.B. das Wort "mögen", wird die Eingabe zu "mögen" umgewandelt, die Ergebnisliste bringt *alle* Texte, die ein "ö" enhalten. Der Rest des Wortes wird komplett ignoriert. Zwar funktioniert das weitere Einschränken, also wenn ich als zweites Wort z.B. "-Rechnung" eingebe, werden Texte weggefiltert, die "Rechnung" enthalten, aber ich kann nicht davon ausgehen, dass die Nutzer immer Kombinationen eintippen. Zudem würde eine Eingabe "ööääüü" so ziemlich jeden deutschen Text in der Datenbank als Ergebnis anzeigen. Ich habe bereits mit doppelten und einfache Hochkommas in der Suche experimentiert und diverse Versuche unternommen, z.B. das "&" auszukommentieren. Alles Ohne Ergebnis. Weiß jemand Rat? Oder gibt es zumindest eine Erklärung für dieses Verhalten, so dass ich eventuell einen anderen Weg finde ... Gruß aus Berlin Torsten Berger ********************************** www.wahnberlin.de Torsten Berger Jasmunder Straße 13 13355 Berlin -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive