Seite 1 von 2

Suche nach Umlauten

Verfasst: Di 15. Sep 2009, 10:48
von kptkip
Hallo,

meine Suche funktioniert im Prinzip wunderbar. Allerdings findet er Begriffe, die Umlaute im Wort haben, nicht.

Vielleicht ein Hinweis noch, ich habe die Seite unter UTF-8 laufen.

Weiß da jemand, wo ich bei der Fehlersuche ansetzen könnte. Ich hab zwar schon ein paar Threads zum Thema durchgelesen. Diese decken i.d.R. nur Ajax-spezifische Themen ab. Bei mir handelt es sich aber um die ganz gewöhnliche Suche ohne Schnickschnack.

Re: Suche nach Umlauten

Verfasst: Mi 16. Sep 2009, 11:20
von kptkip
Ich hab da noch ne konkretere Frage, die möglicherweise die Fehlersuche erleichtern könnte:

Wie sieht denn das Format des Suchbegriffs aus, das der Klasse "Search" übergeben wird.

Output des Suchausgabe-Moduls:

Code: Alles auswählen

 [...]
$search = new Search($options);
[...]
$aSearchResults = $search->searchIndex($searchterm, '');
[...] 
Ist das irgendwie bereinigt? Will der da Iso-8... haben? URL-encoded oder nicht? Mit htmlentities, oder nicht?

Gibt es da ne Spezifikation, die diese Eingangsschnittstelle beschreibt?

Wenn da jemand ne Ahnung von hat, wäre ich über Infos sehr dankbar. :-)

Re: Suche nach Umlauten

Verfasst: So 20. Sep 2009, 12:50
von kptkip
Hi zusammen,

hat da wirklich keiner einen Ansatz? Wie siehts aus, Core-Entwickler?

Weiß da jemand was?

Re: Suche nach Umlauten

Verfasst: Mo 21. Sep 2009, 10:13
von projumper
Hallo,

ich hatte fast das gleiche Problem gehabt mit den Umlauten. Gelöst habe ich das mit der htm_entity_decode($searchterm) Funktion.

Das Problem war nur ähnlich wie deins, deswegen kann ich dir jetzt nicht genau beschreiben wo du was im Suchmodul Output ändern sollst. Wenn du nicht weiter kommst können wir uns das gern zusammen anschauen. Einfach eine PN an mich.

mfg

projumper

Re: Suche nach Umlauten

Verfasst: Fr 25. Sep 2009, 14:35
von kptkip
Hi, in meinem Modul war das bereits drin.

Dennoch findet er keine Umlaute :-(

Das ist schon sehr seltsam.

Re: Suche nach Umlauten

Verfasst: So 27. Sep 2009, 15:58
von projumper
Hallo,

betreibe doch mal ein wenig debuging um zu sehen wo welche Werte verloren oder umgeschrieben werden....

so allgemein kann man schwer helfen :(

mfg

projumper

Re: Suche nach Umlauten

Verfasst: Mo 28. Sep 2009, 12:14
von projumper
ich kann mir sehr gut folgendes Szenario vorstellen:

du suchst z.B nach vÄter

das Modul macht daraus väter. Und durchsucht die Datenbank nach väter. Das kann er natürlcih nicht finden.

mfg

projumper

Re: Suche nach Umlauten

Verfasst: Mo 28. Sep 2009, 13:11
von idea-tec
projumper hat geschrieben:du suchst z.B nach vÄter
das Modul macht daraus väter. Und durchsucht die Datenbank nach väter. Das kann er natürlcih nicht finden.
also, wenn er nach vÄter sucht und väter anstatt v&Auml,ter sucht, stimmt eh ganz gewaltig was nicht.

Re: Suche nach Umlauten

Verfasst: Mi 30. Sep 2009, 10:35
von kptkip
idea-tec hat geschrieben:also, wenn er nach vÄter sucht und väter anstatt v&Auml,ter sucht, stimmt eh ganz gewaltig was nicht.
Da kann ich Dir nur recht geben.

Deshalb würde mich interessieren, was die Klasse "Search" denn für Werte haben will. Wenn ich mal bei Deinen Beispiel bleibe dann sieht das ja so aus:

geschrieben wird:

Code: Alles auswählen

vÄter
umgewandelt wird das je nach Editor in

Code: Alles auswählen

vÄter
oder:

Code: Alles auswählen

vÄter
in der Datenbank landet das ganze dank URL-Encodierung als:

Code: Alles auswählen

v%26Auml%3Bter
oder:

Code: Alles auswählen

v%26%23196%3Bter
Auf der Suche nach dem Problem sollte man also wissen, was diese Klasse so haben will zum Verarbeiten. Damit käme man aus meiner Sicht weiter.

So long!

Re: Suche nach Umlauten

Verfasst: Mi 30. Sep 2009, 11:16
von idea-tec
Man könnte die Suche dahingehend erweitern (was eigentlich schwachsinn ist, da bereits vorher angegriffen werden sollte, was jedoch in den Core eingreift):

1.) Man sucht nach 4 Sachen:
a.) vÄter
b.) vÄter
c.) v%26Auml%3Bter
d.) v%26%23196%3Bter

2.) Man filtert Dupletten raus
3.) Man hat ein Ergebnis

Eine dümmere Idee, ohne den Core zu überarbeiten und zu vereinheitlichen, habe ich leider nicht.

Re: Suche nach Umlauten

Verfasst: Mi 30. Sep 2009, 12:32
von kummer
die seite ist utf-8, richtig? und die db? nicht zufällig iso-8859-1?

Re: Suche nach Umlauten

Verfasst: Do 1. Okt 2009, 23:03
von projumper
hallo @ all,

mit dem grossem Ä wollte ich nur das ä in dem Wort väter deutlich machen. Sorry wenn das zu Verwirrung geführt hat.

mfg

projumper

Re: Suche nach Umlauten

Verfasst: Fr 2. Okt 2009, 06:10
von idea-tec
Auch dann ändert sich an der Tatsache und den Auswirkungen nichts, wenn man nach "Väter" sucht, oder?
Ich sah hier keine Verwirrung, da es am ende egal ist ob ä oder Ä.

Re: Suche nach Umlauten

Verfasst: Fr 2. Okt 2009, 09:27
von projumper
Hallo,

ich dachte so deswegen:
also, wenn er nach vÄter sucht und väter anstatt v&Auml,ter sucht, stimmt eh ganz gewaltig was nicht.
wenn das nicht so ist, bin ich froh ;

Re: Suche nach Umlauten

Verfasst: Fr 2. Okt 2009, 09:44
von kummer
neben der tatsache, dass die bildung von schlüsselwörtern in contenido fehlerhaft ist, ist es eben auch nicht so, dass ein htm- oder url-encoding vorgenommen werden würde. zunächst finden sich nur kleinbuchstaben in den keywords. gross- und kleinschreibung spielt also keine rolle. und dann werden umlaute in ae, ue und oe überführt. so sollte auch das encoding keine rolle mehr spielen.