Hallo,
ich bastle an einer recht simplen Suchfunktion für eine MySQL-Tabelle. Die Inhalte werden überwiegend mit dem Editor TinyMCE verfasst, der die Angewohnheit hat, Sonderzeichen wie Umlaute in ihre entsprechenden Entities umzuwandeln, bevor sie gespeichert werden.
Damit eine Suche nach einem Wort, welches ein Sonderzeichen enthält, erfolgreich verläuft, wandle ich die Zeichen der Suchanfrage ebenfalls in die Entities um. Nun scheint sich MySQL allerdings an genau diesen Zeichen zu stören - wenn ich beispielsweise nach einem Wort mit Umlaut suche, erscheinen viele Suchergebnisse, die dieses Wort überhaupt nicht enthalten.
Meine Datenbankabfrage sieht etwa so aus:
Hat jemand eine Idee, warum MySQL sich an diesen Zeichen stört, und wie ich das Problem lösen kann?
Viele Grüße
Michael
ich bastle an einer recht simplen Suchfunktion für eine MySQL-Tabelle. Die Inhalte werden überwiegend mit dem Editor TinyMCE verfasst, der die Angewohnheit hat, Sonderzeichen wie Umlaute in ihre entsprechenden Entities umzuwandeln, bevor sie gespeichert werden.
Damit eine Suche nach einem Wort, welches ein Sonderzeichen enthält, erfolgreich verläuft, wandle ich die Zeichen der Suchanfrage ebenfalls in die Entities um. Nun scheint sich MySQL allerdings an genau diesen Zeichen zu stören - wenn ich beispielsweise nach einem Wort mit Umlaut suche, erscheinen viele Suchergebnisse, die dieses Wort überhaupt nicht enthalten.
Meine Datenbankabfrage sieht etwa so aus:
Code:
SELECT * FROM page WHERE MATCH (page_keywords, page_description, page_teaser, page_headline, page_title, page_text1) AGAINST ('%".$searchinput."%')
Hat jemand eine Idee, warum MySQL sich an diesen Zeichen stört, und wie ich das Problem lösen kann?
Viele Grüße
Michael