Liebe Leute,
das Update 2.3.x auf 2.4 funktionierte tadellos. Danke dafür.
Aber Strato ningelt wegen PHP 7.4. Wenn ich auf PHP 8 wechsele, wird mein Blog grundsätzlich angezeigt, aber mit zerschossenen Umlauten und Sonderzeichen; zum Beispiel statt
"Die »künstliche Intelligenz« ChatGPT schreibt Texte. Sie erledigt diese Aufgabe besser als frühere Chatprogramme – trotzdem hat sie natürlich ebenso wenig Verständnis für das Geschriebene wie ihre Vorgänger."
die unschöne Version
"Die »künstliche Intelligenz« ChatGPT schreibt Texte. Sie erledigt diese Aufgabe besser als frühere Chatprogramme – trotzdem hat sie natürlich ebenso wenig Verständnis für das Geschriebene wie ihre Vorgänger."
Woran kann’s liegen und wie kann ich’s ändern?
Gruß:
Hanjo.
Und noch ein Problem S9Y 2.4 mit PHP8
-
- Regular
- Posts: 44
- Joined: Sun Feb 26, 2006 3:37 pm
- Location: Eutin, Germany
- Contact:
Re: Und noch ein Problem S9Y 2.4 mit PHP8
Schau mal auf den Charset "Latin-1" macht hier die Probleme.
Umstellung auf UTF-8 und in den Datenbanken die Umlaute ggf. korrigieren.
Umstellung auf UTF-8 und in den Datenbanken die Umlaute ggf. korrigieren.
-
- Regular
- Posts: 44
- Joined: Sun Feb 26, 2006 3:37 pm
- Location: Eutin, Germany
- Contact:
Re: Und noch ein Problem S9Y 2.4 mit PHP8
Danke für Deine Hilfe, Marie. In der Tat habe ich das auch vermutet. Alle Tabellen stehen aber auf utf8_general_ci.
Ich lese hier:
Es kann natürlich sein, dass die Umlaute in der Tabelle falsch sind.
Daher habe ich in der DB Folgendes probiert:
Dann aber werden die Umlaute bei normaler Funktion (also unter PHP7.4 statt PHP8) als Fragezeichen dargestellt. Dafür finde ich auf der oben genannten Seite folgende Erklärung:
Ich lese hier:
Genau das ist es ja, was passiert …Wenn ein Dokument als Unicode (UTF-8) abgespeichert wurde, aber als ISO 8859-1 interpretiert wird, geschieht folgendes:
Erwartete Ausgabe: ä ö ü
Wirkliche Ausgabe: ä ö ü
Es kann natürlich sein, dass die Umlaute in der Tabelle falsch sind.
Daher habe ich in der DB Folgendes probiert:
Code: Select all
UPDATE serendipity_comments set
`body`= REPLACE(`body`,"ß", "ß"),
`body`= REPLACE(`body`, "ä", "ä"),
`body`= REPLACE(`body`, "ü", "ü"),
`body`= REPLACE(`body`, "ö", "ö"),
`body`= REPLACE(`body`, 'Ä', 'Ä'),
`body`= REPLACE(`body`, "Ãœ", "Ü"),
`body`= REPLACE(`body`, "Ö", "Ö"),
`body`= REPLACE(`body`, '€', '€');
Hm …Wenn die Umlaute als Fragezeichen dargestellt werden, dann wird ein als ISO 8859-1 kodiertes Dokument als UTF-8 interpretiert. Dies stellt das Gegenstück zur oben genannten Situation dar.
Re: Und noch ein Problem S9Y 2.4 mit PHP8
Und beide Erklärungen passen zusammen: was immer zwischen dir und der Datenbank sitzt, spricht unter PHP 8 Latin-1 / ISO 8859-1 und unter PHP 7.4 UTF-8. Wenn das nicht in der S9y Datenbankkonfiguration ist, dann im Apache / PHP 8 environment suchen, was da anders ist.
Running s9y at https://erack.net/blog/
Re: Und noch ein Problem S9Y 2.4 mit PHP8
Im Zweifel auch mal gucken, was bei Konfiguration -> Datenbankeinstellungen unter "Datenbank-Zeichensatzkonvertierung aktivieren" gesetzt ist. Wenn es an ist ausmachen, wenn aus anmachen. Auch drauf achten, dass unter Generelle Einstellungen -> Zeichensatz-Auswahl wirkluch auf UTF-8 steht.