Umlaute werden als Fragezeichen ausgegeben (Support für das Suchscript)

Harald ⌂ @, Monday, 06.07.2020, 10:11 (vor 1389 Tagen)

Hallo Fritz,

vielen Dank für das Suchscript, es funktioniert im Prinzip einwandfrei, tut, was es soll.

Lediglich die deutschen Umlaute werden in der Ergebnisliste als "Raute mit Fragezeichen" angezeigt, was ich gerne vermeiden würde.

Mein Homepage ist mit der Einstellung "Western European (ISO-8859-1)" erstellt, das war die Voreinstellung, meine Seiten werden korrekt erzeugt, deshalb habe ich das nicht geändert.

Ich habe bereits Stellen in den CSS-Dateien deines Scriptes geändert, wo der Zeichensatz definiert wird, aber ohne Erfolg (und auch ohne jegliche sichtbare Änderung).

Hast du einen Tipp für mich, wo ich ändern muss, damit die Suchergebnisse korrekt dargestellt werden?

Vielen Dank!
Harald

Eintrag gesperrt
3880 Views
Avatar

Umlaute werden als Fragezeichen ausgegeben

Fritz ⌂, Monday, 06.07.2020, 11:48 (vor 1389 Tagen) @ Harald

Die Seite suchen.php muss die gleiche Kodierung verwenden wie die zu durchsuchenden Seiten.
Deine suchen.php beinhaltet jedoch
<meta charset="UTF-8"/>
Bitte ändere das auf ISO-8859-1, und vor allem, nach dem Ändern speichere die Datei auch wirklich als ISO-8859-1 ab (der Editor muss entsprechend eingestellt werden).

Eintrag gesperrt
3848 Views

Umlaute werden als Fragezeichen ausgegeben

deHarry ⌂, Monday, 06.07.2020, 19:46 (vor 1388 Tagen) @ Fritz

Hallo Fritz,

vielen Dank für die schnelle Antwort!

Ich habe gerade entdeckt, dass verschiedene meiner Seiten noch andere Char-set Definitionen enthalten. Das muss wohl im Laufe der Zeit bei den Umstiegen auf neuere Versionen von NOF passiert sein.

Ich versuche das jetzt erst mal alles glatt zu ziehen, gebe dann Bescheid, wenn's funktioniert hat.

Danke erst mal.

Harald

Eintrag gesperrt
3787 Views
Avatar

Umlaute werden als Fragezeichen ausgegeben

Fritz ⌂, Monday, 06.07.2020, 19:57 (vor 1388 Tagen) @ deHarry

… neuere Versionen von NOF

Ich glaub's nicht: Gibt's den Dino immer noch!?

Eintrag gesperrt
3792 Views

Umlaute werden als Fragezeichen ausgegeben

deHarry ⌂, Monday, 06.07.2020, 20:28 (vor 1388 Tagen) @ Fritz

Aber sicher! ;-)
Ich habe gerade Mitte letzten Jahres in mühevoller Handarbeit über Excel ein Menü angeflanscht und das Design etwas aufgehübscht. (Also Excel erstellt mir den HMTL-Code für das Menü, abhängig von der Site-Struktur in NOF).

Hintergrund der Aktion(en) war irgendeine Frage bzgl. IMG-Formatierungen und deren Voreinstellbarkeit (gibt es nicht) an die Kollegen der NOF-Schule, die mir wärmstens ans Herz gelegt haben, auf einen modernen Generator umzusteigen.
In diesem Zuge habe ich mich dann auch erstmals auf CSS gestürzt.

Da die Site aber inzwischen recht umfangreich daher kommt und ich fleißig innerhalb verlinkt habe, wollte ich mir diesen Vorschlag nicht zu eigen machen.
Aber immerhin haben mich die Mitglieder der Schule dazu gebracht, mal meinen lange gehegten Wunsch nach einem etwas frischeren Design mit Dropdown-Menü umzusetzen.
Deshalb immer noch NOF 2015...

Harald

Eintrag gesperrt
3775 Views

Umlaute werden als Fragezeichen ausgegeben

deHarry ⌂, Monday, 06.07.2020, 20:30 (vor 1388 Tagen) @ deHarry

Und deine entsetzte Frage ist berechtigt...
Auf dem Seiten werden meta-Tags erzeugt und ins HTML eingetragen, deren Festlegung in NOF ich nirgends finde :-(

Eintrag gesperrt
3756 Views
Avatar

Umlaute werden als Fragezeichen ausgegeben

Fritz ⌂, Monday, 06.07.2020, 20:39 (vor 1388 Tagen) @ deHarry

Heißt das jetzt, deine suchen.php wird von NOF erzeugt, und du kannst den Charset nicht setzen/ändern?

Eintrag gesperrt
3717 Views

Umlaute werden als Fragezeichen ausgegeben

deHarry ⌂, Monday, 06.07.2020, 20:53 (vor 1388 Tagen) @ Fritz

Fast.
NOF erzeugt die suchen.php, die Stelle, an der ich den Seiten-Zeichensatz (je Seite) einstellen kann, habe ich gerade gefunden.

Charset auf ISO-8859-1 umgestellt, veröffentlicht.
Im HTML steht tatsächlich

<!DOCTYPE html>
<html>
<head>
<title>suchen</title>
<meta charset="ISO-8859-1"/>


die Seiteinformationen (in Firefox) zeigen aber weiterhin brav "UTF-8" an.

Naja, und die Suchergebnisse halten sich an die Seiteninformationen (die Rauten mit ? sind noch da).

Bei einigen Seiten wird "windows-1252" angezeigt, obwohl ich gerade auf Western European (ISO-8859-1) umgestellt habe (auch veröffentlicht.

Noch eine Info:
Wenn ich die Suchen-Seite lokal veröffentliche (auf meine Festplatte), dann wird im HTML korrekt "ISO-8859-1" angezeigt und in den Seiteninformationen des Browsers immerhin "windows-1252", also nicht mehr stur UTF-8.
Lokal funktioniert die Suche natürlich nicht, also kann ich nicht prüfen, ob die Fragezeichen wenigstens lokal weg sind.

Eintrag gesperrt
3783 Views
Avatar

Umlaute werden als Fragezeichen ausgegeben

Fritz ⌂, Monday, 06.07.2020, 20:58 (vor 1388 Tagen) @ deHarry

Im HTML steht tatsächlich

<meta charset="ISO-8859-1"/>


die Seiteinformationen (in Firefox) zeigen aber weiterhin brav "UTF-8" an.

Klar. Du musst, wie ich schon geschrieben habe, die Datei auch als ISO-8859-1 speichern. "Richtige" Editoren können das. Ob NOF es kann …?

Eintrag gesperrt
3797 Views

Umlaute werden als Fragezeichen ausgegeben

Harald ⌂ @, Monday, 06.07.2020, 21:06 (vor 1388 Tagen) @ Fritz

Wenn ich das richtig verstanden habe, dann bezieht sich das "richtige Abspeichern des Editors" alleine auf die Umlaute, alles anderen, normalen Buchstaben machen da ja keinen Unterschied, oder?

NOF speichert in der Tat die Umlaute unterschiedlich ab, je nach eingestelltem Zeichensatz. Erkennen kan nich das gut an den Menü-Einträgen mit Semikolon (z.B. bei "Kai's Modelle").
Steht der Seitenzeichensatz falsch, enthalten auch die Menüs das Rauten-?.

Kann ich daraus ableiten, dass NOF das Abspeichern richtig macht?

Eintrag gesperrt
3743 Views
Avatar

Umlaute werden als Fragezeichen ausgegeben

Fritz ⌂, Monday, 06.07.2020, 21:10 (vor 1388 Tagen) @ Harald

Wenn ich das richtig verstanden habe, dann bezieht sich das "richtige Abspeichern des Editors" alleine auf die Umlaute,

Nein, mit Umlauten hat das nicht unmittelbar zu tun.

Bitte teste die Sache doch einmal mit der original-suchen.php, dann sehen wir weiter.

Eintrag gesperrt
3728 Views

Umlaute werden als Fragezeichen ausgegeben

deHarry ⌂, Monday, 06.07.2020, 21:47 (vor 1388 Tagen) @ Fritz

Jetzt bin ich total daneben...
In der root der Site, neben default.htm, liegt das unveränderte suchen.php.
Im HTML-Ordner liegt ein zweites suchen.php, das ist die Version, die von NOF erzeugt wird, mit allen Headern, Footern und dem Site-Layout usw.

Meine Änderungen sind natürlich immer in der NOF-Version im HTML-Ordner gelandet.

Ich meine im Readme gelesen zu haben, dass das suchen.php in der root zu liegen hat.

Beim Aufruf der Suche wird die NOF-suchen.php geladen, die suchen.php in der root wird nie angesprochen.
Kann das so funktionieren?

(sorry, ich muss jetzt Pause machen, bin offline bis morgen...)

Eintrag gesperrt
3765 Views
Avatar

Umlaute werden als Fragezeichen ausgegeben

Fritz ⌂, Monday, 06.07.2020, 21:54 (vor 1388 Tagen) @ deHarry

Beim Aufruf der Suche wird die NOF-suchen.php geladen, die suchen.php in der root wird nie angesprochen.

Nachdem alle deine Seiten auch im Ordner /html liegen, ist das schon richtig so.
Der Ordner /html ist quasi die root deiner Website.

Und dorthin lege bitte auch testweise einmal die original (unveränderte) suchen.php

Eintrag gesperrt
3778 Views

Umlaute werden als Fragezeichen ausgegeben

deHarry ⌂, Tuesday, 07.07.2020, 20:44 (vor 1387 Tagen) @ Fritz
bearbeitet von deHarry, Tuesday, 07.07.2020, 20:50

So, bin wieder da, vielen Dank für deine Geduld.

Die unveränderte suchen.php kann natürlich nicht funktionieren, da die Pfade noch auf den wdw-Ordner umgebogen werden müssen.
Aber danach läuft die Suche... und gibt Rauten-? anstelle der Umlaute aus.

Die ersten paar Zeilen des php-Scripts lauten:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">

<head>
<!-- Codierung vom Browser erraten lassen: -->
<!-- <meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" /> -->

Seiteneigenschaften zeigen aber wieder UTF-8 an.

Habe ich nicht irgendwo in den CSS files den Zeichensatz angeben müssen?

Noch eine Info:
Die erste gefundene Seite wenn ich nach "wort" suche, enthält Umlaute (Rauten-?) in der Trefferanzeige.
Rufe ich die Seite auf, bekomme ich von Firefox als Seiteninformation "windows-1252" angezeigt, im HTML steht hingegen "<meta charset="ISO-8859-1"/>".

In NOF kann ich beides auswählen, eingestellt habe ich ISO-8859-1.

[edit]
Gerade beim nochmal Lesen habe ich gesehen, dass das Original suchen.php "ISO-8859-15" eingestellt hat, nicht ISO-8859-1, wie meine Seiten (lt. Einstellung in NOF haben sollten).

Die Änderung dieses Eintrags im Skript auf "ISO-8859-1" ändert aber auch nichts an den Suchergebnissen.
[/edit]

Eintrag gesperrt
3754 Views
Avatar

Umlaute werden als Fragezeichen ausgegeben

Fritz ⌂, Tuesday, 07.07.2020, 21:36 (vor 1387 Tagen) @ deHarry

Auf die Gefahr, dass ich mich wiederhole:
Du kannst in die Meta-Tags reinschreiben, was du willst, entscheidend ist, mit welcher Kodierung die Datei abgespeichert wurde. Und das wiederum entscheidet einzig und allein die Einstellung des Editors, mit dem die Datei gespeichert wurde. (Und mit CSS hat das gleich gar nichts zu tun.)
Wie es aussieht, wurde die Original-suchen.php eben auch als utf-8 gespeichert. Du müsstest sie also mit einem "richtigen" Editor öffnen und ohne sonstige Änderungen als ISO... speichern.
Ich habe da allerdings meine Zweifel, ob NOF das kann, kann dir aber mit NOF leider nicht weiter helfen.
PS: Das mit dem "Umbiegen" der Pfade hat doch mit der suchen.php nichts zu tun? Oder hast du die möglicherweise auch bearbeitet (und dann unwissentlich als utf-8 gespeichert)?

Eintrag gesperrt
3778 Views

Umlaute werden als Fragezeichen ausgegeben

deHarry ⌂, Tuesday, 07.07.2020, 21:50 (vor 1387 Tagen) @ Fritz

Nein, bitte wiederhole dich so oft du willst, das nervt mich nicht. Im Gegenteil, ich habe das zwar gelesen, es ist aber offenbar nicht bei mir im Hirn wirklich angekommen. War mir bis eben nicht klar. Entschuldigung und danke für den expliziten Hinweis.

Bzgl. der Original-suchen.php bin ich mir eigentlich keiner Schuld bewusst, ich habe die Datei mit dem Zeitstempel 03.11.2019 auf den Server ins HTML-Verzeichnis kopiert und die Such-Seite wurde zwar aufgebaut, jedoch hat eine Suche lediglich den Throbber angezeigt, keine Ergebnisse.

Also habe ich mich erinnert, dass mehrere Pfadangaben oin der Datei enthalten sind, die auf das wdw_suche-Verzeichnis zeigen, das ja bei mir eine Etage höher liegt (parallel zu html).
...
Okay... Ich habe also in der Tat nicht die "unveränderte" suchen.php verwendet, sondern schon geändert. Mist!

Ich verschiebe das wdw_suche-Verzeichnis nach HTML und teste nochmal.

Eintrag gesperrt
3778 Views
Avatar

Umlaute werden als Fragezeichen ausgegeben

Fritz ⌂, Tuesday, 07.07.2020, 22:01 (vor 1387 Tagen) @ deHarry

Ich verschiebe das wdw_suche-Verzeichnis nach HTML und teste nochmal.

Dort gehört das wdw_suche-Verzeichnis auch hin. ;-)
Ich fürchte allerdings, dass die im Download-Paket enthaltene suchen.php auch utf-8 kodiert ist.
Letztlich gibt es wohl nur einen Weg: Verwende (besorg' dir) einen "richtigen" Editor für solche Arbeiten.
Die Alternative, nämlich dass ich auf deinem Server "rumwurstle", möchte ich gar nicht erst anbieten.

Eintrag gesperrt
3724 Views

Umlaute werden als Fragezeichen ausgegeben

deHarry ⌂, Tuesday, 07.07.2020, 22:11 (vor 1387 Tagen) @ Fritz

Deine Nachricht kam jetzt zeitgleich und überschnitten.

Ich verwende Notepad++ und das bietet verschiedene Möglichkeiten zum "Encoding" des Textes, aber egal wie ich suchen.php gespeichert habe, es bleibt störisch bei UTF-8.

Aber wie geschrieben, ich mache mich jetzt schlau und melde mich wieder... entweder weinend oder erfolgreich ;-)

Eintrag gesperrt
3732 Views

Umlaute werden als Fragezeichen ausgegeben

deHarry ⌂, Tuesday, 07.07.2020, 22:08 (vor 1387 Tagen) @ deHarry

Hallo Fritz,

mein bisheriges Stochern hat alles nichts gebracht, ich lese mich jetzt mal in Zeichensatzkodierungen ein und melde mich, wenn ich es geschafft habe, ok?

Danke nochmal für die geduldige Unterstützung und vor Allem das Skript!

Harald

Eintrag gesperrt
3753 Views
Avatar

Umlaute werden als Fragezeichen ausgegeben

Fritz ⌂, Tuesday, 07.07.2020, 22:12 (vor 1387 Tagen) @ deHarry

ich lese mich jetzt mal in Zeichensatzkodierungen ein

Das kann nicht schaden. Aber für unser konkretes Problem wird es nicht viel helfen.
Alles was du brauchst, ist die Dokumentation deines Texteditors, und dort den Punkt, wie du eine bestimmte Kodierung (hier: ISO) bei "Speichern unter …" einstellst.

Eintrag gesperrt
3764 Views

Umlaute werden als Fragezeichen ausgegeben

deHarry ⌂, Wednesday, 08.07.2020, 06:36 (vor 1387 Tagen) @ Fritz
bearbeitet von deHarry, Wednesday, 08.07.2020, 06:44

Hallo Fritz!

...hat geholfen ;-)

Der Ansatz, über .htaccess alles gerade zu ziehen, schlug (zum Glück?) fehl.
Also bin ich den umgekehrten Weg gegangen und habe meine komplette Site auf UTF-8 umgestellt, das leistet NOF relativ einfach über die Site-Optionen.

Hier ergab sich ein kleines Problem, da ich das Menü über eine Excel-Tapete (jede Menge Formeln, die mir die einzelnen HTML-Zeilen mit Listen-Formatierung zusammen basteln) erstelle, die die Sonderzeichen in Pfaden und Seitentiteln über eine Tabelle in Zeichen der Form >>&#xxx;<<

Umlaute und Sonderzeichen   
Zeichen Beschreibung HTML Code Unicode in HTML
Ä A Umlaut  &#196;
ä a Umlaut  &#228;


ersetzt.
Ich musste die Tabelle zu ersetzender Zeichen um Apostroph und Accent Grave erweitern, aber das war's dann schon.

Meine Seite ist jetzt komplett in UTF-8 kodiert und das von NOF erzeugte suchen.php damit ebenfalls.
Will sagen, sowohl das original suchen.php aus deinem ZIP als auch das von NOF erzeugte suchen.php geben jetzt alle Zeichen korrekt wieder.

Vielen Dank nochmals für deine Hilfe und Unterstützung!

Harald


nota bene
Ich habe eine Anregung zu deinem Skript, aber dazu erstelle ich besser einen eigenen Beitrag.

Eintrag gesperrt
3769 Views
Avatar

Umlaute werden als Fragezeichen ausgegeben

Fritz ⌂, Wednesday, 08.07.2020, 11:45 (vor 1387 Tagen) @ deHarry

Ich musste die Tabelle zu ersetzender Zeichen um Apostroph und Accent Grave erweitern, aber das war's dann schon.

Genau das sollte eigentlich mit UTF nicht nötig sein.

Meine Seite ist jetzt komplett in UTF-8 kodiert

Ich hätte das längst vorgeschlagen, aber solche Vorschläge werden mir halt immer wieder als Schulmeisterei ausgelegt. ;-)

Eintrag gesperrt
3763 Views

Umlaute werden als Fragezeichen ausgegeben

deHarry ⌂, Wednesday, 08.07.2020, 11:50 (vor 1387 Tagen) @ Fritz

Hättest du bei mir ruhig machen können, ich bin trotz fortgeschrittenen Alters, immer noch lernfähig ;-)

Was ich noch loswerden wollte, was aber nie so richtig gepasst hat:
Ich finde es Klasse, wie unaufdringlich du den Hinweis auf deine eigene Seite platziert hast. Da habe ich schon ganz andere Kaliber gesehen, die mir die Freude an der Verwendung der Erweiterung genommen haben (Zähler, Übersetzer, ...).

Danke nochmals!

Harald