Hallo,
folgende Anpassungen müssen vorgenommen werden:
1. In der class.search.php muss in der Zeile 475 dies geändert werden:
Vorher:
Code: Alles auswählen
if (strtolower($sEncoding) != 'iso-8859-2') {
$key = htmlentities($key, NULL, $sEncoding);
} else {
$key = htmlentities_iso88592($key);
}
Nachher:
Anscheinend ist diese Klasse nicht wirklich für utf-8 geeignet.
Ganz blicke ich da auch noch nicht durch, aber damit konnte ich bei mir das Problem z. T. lösen.
Des weiteren müssen im Search_Output Modul bei der Ausgabe folgende Punkte geändert werden.
ab Zeile 59
Code: Alles auswählen
#Get search term and pre-process it
if (isset ($_GET['searchterm'])) {
$searchterm = urldecode(htmlentities(strip_tags(stripslashes($_GET['searchterm'])),ENT_QUOTES,"UTF-8")); // utf-8
}
elseif (isset ($_POST['searchterm'])) {
$searchterm = urldecode(htmlentities(strip_tags(stripslashes($_POST['searchterm'])),ENT_QUOTES,"UTF-8")); // utf-8
}
$searchterm = str_replace(' + ', ' AND ', $searchterm);
$searchterm = str_replace(' - ', ' NOT ', $searchterm);
$searchterm_display = $searchterm;
$searchterm_display = html_entity_decode($searchterm_display,ENT_QUOTES,"UTF-8"); // utf-8
Zeile 110
Code: Alles auswählen
$searchterm = html_entity_decode($searchterm,ENT_QUOTES,"ISO-8859-1"); // iso-8859-1 weil db nicht utf-8 ist
Hier verwende ich ISO, weil diese Datenbank noch im ISO arbeitet.
Zeile 303
Code: Alles auswählen
$tpl->set('s', 'MESSAGE', $sYourSearchFor." '".utf8_encode(htmlspecialchars(strip_tags($searchterm)))."' ".mi18n("hat leider keine Treffer ergeben").".");
Ich verwende bei diesem Beispiel die Contenido Version 4.8.14.
WICHTIG!!!
Ihr müsst die Artikel, wo das besagte Suchwort vorkommt, noch mal im Backend(HTML-Editor) neu abspeichern, erst dann wird der Suchbegriff in der Datenbank-Tabelle 'con_keywords` abgespeichert. Mir ist nämlich aufgefallen, dass dort die Suchbegriffe gefehlt haben. Die Funktion removeSpecialChars() übergibt das Suchwort an die Funktion searchIndex() sonst nicht.
Vielleicht liegt es an meiner CMS-Einstellung.
Mensch, war das ne Sucherei.
Hoffe, es hilft jemanden.
Viele Grüße aus Halle
Leonhard