Neuigkeiten:

moziloCMS verwendet Cookies. Wenn Sie auf unserer Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu Datenschutzerklärung
moziloCMS Layouts
moziloCMS Plugins

Hauptmenü

Problem bei der Suche mit Umlauten

Begonnen von Mister, 02. Juni 2009, 01:11:27

« vorheriges - nächstes »

Mister

Hallo,

die Suche macht aus mir nicht ersichtlichen Gründen folgendes, wenn ich Umlaute eingebe:

Suchergebnisse für "Stück"

Er findet auch das Wort nicht, obwohl es auf den Seiten vorhanden ist.

Hat jemand eine Idee, warum Mozilo das ausgibt.

Danke für eure Hilfe.

Grüße
Andreas

caga

#1
Hallo und willkommen im Supportforum!

Die Tatsache, dass bei der Suche mit Umlauten Fehler auftreten ist bereits bekannt und es wird auch - wenn auch bisher ohne brauchbares Ergebnis - nach Lösungen gesucht.
Leider kann man da nur sagen: abwarten und Tee trinken.

Gruß,
Carsten
Gruß,
Carsten

Mister

#2
Hallo Carsten,

Danke für Deinen schnellen Hinweis!

Gibt es einen anderen Thread, den ich nicht gefunden habe, er sich mit dem Thema beschäftigt? Vielleicht bringt er mich auf eine Idee, woran es liegen könnte.

Grüße
Andreas

caga

#3
Hallo,

zumindest gibt es keinen öffentlich zugänglichen Thread ;)
Das ganze Problem liegt irgendwo in den Regexes "verborgen".
Die Funktion in der index.php der CMS-Installation ist folgende (irgendwo um Zeile 750 in v1.11.1):
function pageContainsWord($cat$page$query$firstrecursion
Viel Spaß damit. Ich habe mich damit gute 2-3 Wochen beschäftigt und bin zu dem Ergebnis gekommen, dass ich entweder Blind bin oder Regexes ganz schlicht und einfach hexenwerk sind  :o

Gruß,
Carsten
Gruß,
Carsten

stefanbe

#4
Such mal in der template.html
<meta http-equiv="Content-Type" content="text/html; charset=??????????" /> Das solte da Stehen weil mozilo intern mit Charset iso-8859-1 arbeitet
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> dann solte es auch mit denn Umlauten gehen

gruss stefanbe

caga

#5
Ich habe das mal auf die schnelle probiert und kann da keinen Erfolg verzeichnen.
Gruß,
Carsten

stefanbe

#6
Da hat sich wohl ein fehler eingeschlichen in der index.php das solte so aussehen
function cleanInput($input) {
    if (function_exists("mb_convert_encoding")) {
+++
        $input = @mb_convert_encoding($input, "ISO-8859-1");
---
        $input = htmlentities(@mb_convert_encoding($input, "ISO-8859-1"));
    }
    return htmlentities($input, ENT_QUOTES, 'ISO8859-1');    
} 
gruss stefanbe

caga

#7
Das funktioniert jetzt sowas von gut  :shock:
Und ich quäle mich ewig durch diese <hier viele Schimpfwörter einfügen> RegEx-Dinger   :roll:

Mal wieder eine hochwertige Lösung von Stefan, weiter so!!
Gruß,
Carsten

Mister

#8
DANKE Stefan!

Das funktioniert jetzt super!

Grüße
Andreas

azett

#9

stefanbe

#10
So hab mal noch ein Bischen geforscht und das noch gefunden.

Damit bei der Suche auch Wörter die mit einem Umlaut beginnen gefunden werden ist folgendes in der index.php (moziloCMS 1.11.2) Anzupassen:
Zeile 73
$HIGHLIGHT_REQUEST 
= getRequestParam('highlight', false);

Zeile 218
$pagecontent 
= highlight($pagecontent, $HIGHLIGHT_REQUEST);

Zeile 719 # Damit werden auch die Links richt Dargestelt und Geheileitet
$searchresults .= "<li>".
    "<a href="index.php?cat=$currentcategory&amp;page=".
    substr($matchingpage, 0, strlen($matchingpage) - 4).
    "&amp;highlight=".rawurlencode($highlightparameter).""".
    getTitleAttribute($language->getLanguageValue2("tooltip_link_page_2", $pagename, $categoryname)).">".
    highlight($pagename,$highlightparameter).
    "</a>".
    "</li>";

Zeile 861
$phrasearray 
= explode(",", $phrasestring);

Zeile 868 # Hier solte mal noch ein RegEx Experte drüber Schauen
$content = preg_replace("/((<[^>]*|{CONTACT})|$phrase)/ie", '"2"=="1"? "1":"<span class="highlight">1</span>"', $content); 

gruss stefanbe

azett

#11
Steht auf der Liste, merci :)

azett

#12
Kommt leicht angepaßt in 1.12.

dark-freedom

#13
Verzeihung das ich so ein altes Thema wieder ausgrabe, jedoch passt das Thema einfach zu gut auf mein Problem/Anliegen.

Habe gestern ein einfaches zu handhabendes CMS gesucht, wo ich nicht erst ein Studium für machen muss. Dinge wie Mehrbenutzersystem oder ähnliches brauche ich auch nicht. So bin ich - nach einiger Zeit - auf mozilo gestoßen. Soweit so gut...
Runterladen und los gehts mit dem Testen. Aus Erfahrung weiß ich, dass ein Demozugang nie das Wahre verhalten auf dem eigenen Webspace wiedergibt. Es läuft gut, kann mich nicht beklagen... bis auf die Suche.
Ich muss zugeben in der Demo ist mir die gar nicht aufgefallen. Als ich sie dann jedoch entdeckte war ich begeistert von ihr. Nun dann stieß ich auf ein Problem mit Umlauten. Diese werden - nun wie erkläre ich dies - sie werden anscheinend heraus gefiltert. Zur besseren Erklärung habe ich mal ein Bild mit angehängt.

Eine Seite wurde zu Testzwecken "Allgemeine Erläuterungen" getauft. Dies hat Problemlos geklappt und wird auch korrekt an jeder Stelle angezeigt. Nur suchen kann ich nicht nach "Erläuterung", denn dann kommt "Erluterung" raus. Hat jemand von euch eine Erklärung für dieses Verhalten und weiß evtl. abhilfe?

Zu den Daten:
Seitenkodierung: ISO-8859-1
Hoster: ilohost.org (Freehoster)
Rest sieht man denke ich soweit im Bild, wenn nicht einfach fragen bitte.

azett

#14
Salut und willkommen im Forum :)

Poste bitte mal den Link zur Seite, dann können wir mal draufschauen.