Author Topic: Umlaute werden auf einmal falsch dargestellt  (Read 3348 times)

Offline Don Martin

  • Posts: 24
Umlaute werden auf einmal falsch dargestellt
« on: February 18, 2016, 09:51:37 AM »
Liebe WB-lies

Auf eignen unserer WB-Installationen werden die Umlaute auf einmal nicht mehr sauber angezeigt.
Beispiel: http://stiftsschule-einsiedeln.ch/de/content/meinradstag

Aufgefallen ist uns folgendes:
  • Wird der Eintrag im Backend neu geschrieben (die falschen Zeichen wieder durch z.B. ein "ä" ersetzt, werden die Umlaute nachher auch im Frontend sauber dargestellt
  • Es betrifft das News-Modul aber auch die Navigationspunkte, die Fusszeilen - doch nie den "normalen" Contentbereich einer Seite
  • Den Post "Problem mit Umlaute nach Update" haben wir studiert - die DB und die Tabellen sind auf UTF und dem PHPdefault_charset haben wir fix auf UTF-8 eingestellt
  • Betroffen sind unterschiedliche WBVersionen und auch nur ein Teil der von uns betreuten WBSeiten... hmm.. ev. hat das mit den verwendeten Tempaltes zu tun :|?

Was wir nicht wissen ist, ob ein Update auf dem Webhosting durchgeführt wurde. Der WB selber wurde nicht angefasst. Die betroffenen Webseiten sind jedoch auf unterschiedlichen Provider. Es müsste also ein generelles Update gewesen sein.

Habt Ihr eine Idee, wo wir ansetzen und suchen sollten? Herzlichen Dank für Eure Hilfe - und falls weitere Infos benötigt werden, einfach fragen!
Mit Gruss
Don Martin

Offline hgs

  • Betatester
  • **
  • Posts: 1110
    • EFG MG
Re: Umlaute werden auf einmal falsch dargestellt
« Reply #1 on: February 18, 2016, 10:11:20 AM »
Hier ist eine schöne Erklärung, hoffe damit kommst du weiter

http://forum.WebsiteBaker.org/index.php/topic,28800.msg203296.html#msg203296
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Umlaute werden auf einmal falsch dargestellt
« Reply #2 on: February 18, 2016, 10:36:02 AM »
Kommt drauf an, wie versiert du bist. ...
Wenn das Kind schon mal in den Brunnen gefallen ist, würde ich, wenn ich mit PHPmyAdmin und Mysql eher Laie bin, wohl die manuelle Reparatur vorziehen.
Das heißt: Kontrolle aller Eingabefelder wie Seitennamen, -beschreibungen usw und aller Inhalte und dann die Ersetzen direkt im WB-Backend.

Ansonsten nach der von HGS verlinkten Anleitung vorgehen.

Hinweis: bei der manuellen Korrektur kann es vorkommen, das sich ein Seiten- oder Menütitel nicht mehr ändern läßt. Hier hilft dann tatsächlich nur noch der Eingriff direkt in der Datenbank.
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline Don Martin

  • Posts: 24
Re: Umlaute werden auf einmal falsch dargestellt
« Reply #3 on: February 18, 2016, 11:16:57 AM »
Uhi Das ging schnell (Y) Danke für die schnellen Hinweise.

Die Tabellen in der DB sind alle auf utf8_general_ci oder urf8_unicode_ci
wb_mod_news_post e.g. ist auf MyISAM utf8_unicode_ci

Von den Kenntnissen her kommt ich mit MS SQL besser zurecht als mit PHPMyAdmin - bin ein WINTEL-Kind  8-) - aber das sollte schon klappen.

Was ich aus Euren Antworten - nochmals Dank dafür - verstehe, ist, dass Ihr auf falsche Charakter-Sets in der DB tippen, richtig? Aus meiner Sicht sind diese jedoch alle korrekt (visuelle Kontrolle im PHPMyAdmin). Kann ich dies prüfen?
Was ich beim durchsuchen nun entdeckt habe ist, dass die Werte in den Tabellen tatsächlich die falschen Umlaute aufweisen. Sprich sie sind dort schon falsch
Zum Beispiel beim http://stiftsschule-einsiedeln.ch/de/content/meinradstag
ist der Wert in der DB - Tabellen - Feld:
<p>Nach dem Frühstück und versorgt mit einem Lunchpaket ging es um 9 Uhr mit dem Postauto Richtung Hoch-Ybrig.</p>

Fragen die sich nun stellen:
Die Werte sollten doch in "ü" anstelle "ü" in der Tabelle gespeichert sein - wie können diese "Bulkmässig" verschrümmelt werden?
Verstehe ich Euch richtig - es gibt nur die Variante des manuellen anpassen, da die Tabelle das korrekte Charakter-Set hat?

Danke Euch jetzt schon!

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Umlaute werden auf einmal falsch dargestellt
« Reply #4 on: February 18, 2016, 01:16:26 PM »
Was ich aus Euren Antworten - nochmals Dank dafür - verstehe, ist, dass Ihr auf falsche Charakter-Sets in der DB tippen, richtig?

das sagte keiner
Richtig ist utf8_general_ci oder urf8_unicode_ci und utf8.
Es ist die Kombination, die bei dir nicht mehr passt.
Hast du z.b. in WB als Schriftsatz ISO 8859-x eingestellt, passt dieser nicht zu deinen Zeichen in der Datenbank.
Hatte dein Provider vorher als PHP-default_charset ISO 8859-x eingetragen und nun (weil ihr ja nichts gemacht habt) auf default_charset = utf8 umgestellt, ggf mit einem Upgrade der PHP-Version, passt der mit dem alten Charset kodierte Datenbank-Inhalt nicht mehr zu deinen aktuellen Einstellungen.

Du verwendest nicht die aktuellste Version, gut möglich, das sich das schon alleine regelt, wenn du den SP5 oder SP6 drüber ziehst. Aber eine Garantie geb ich da auch nicht.
Auch möglich: Upgrade des Wysiwyg-Editor's, z.b. den aktuellsten CKeditor

Wäre es meine Seite, würde ich so vorgehen, wie im von hgs verlinktem Beitrag beschrieben. Es gibt hier definitiv keine Lösung, die mit drei Klicks alles repariert.

Quote
Zum Beispiel beim http://stiftsschule-einsiedeln.ch/de/content/meinradstag
ist der Wert in der DB - Tabellen - Feld:
<p>Nach dem Frühstück und versorgt mit einem Lunchpaket ging es um 9 Uhr mit dem Postauto Richtung Hoch-Ybrig.</p>

Wenn das in der Datenbank steht, wurde der Inhalt noch einmal vor dem Speichern konvertiert, z.b. mit htmlspecialchars()
Welches Modul ist das? Und welchen Wysiwyg-Editor benutzt du da?
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline Don Martin

  • Posts: 24
Re: Umlaute werden auf einmal falsch dargestellt
« Reply #5 on: February 18, 2016, 01:37:29 PM »
Danke Dir! (Y) Dann mach ich mit der Anleitung aus dem verlinkten HGS-Post weiter.

Quote
Wenn das in der Datenbank steht, wurde der Inhalt noch einmal vor dem Speichern konvertiert, z.b. mit htmlspecialchars()

Ja, das steht so in der DB... War aber nicht immer so - original war der Text "sauber" mit öä etc. in der Tabelle. Was uns etwas erstaunt ist die Tatsache, dass dieser Eintrag eigentlich gar nicht mutiert wurde. Es wurde entsprechend nicht gespeichert. Hast Du eine Ahnung welche Aktionen das sonst noch auslösen könnten? Reicht ein Aufruf des Eintrages um diesen zu verschrümmeln?

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Umlaute werden auf einmal falsch dargestellt
« Reply #6 on: February 18, 2016, 02:11:15 PM »
man könnte jetzt mutmaßen.....
aus meiner Erfahrung der letzten knapp 20 Jahre, beruht aber nur auf deutsche Anbieter...

die für mich wahrscheinlichste Variante.....
Im Idealfall bekommt der Kunde eine Mail, in der sinngemäß steht, das Wartungsarbeiten am ... durchgeführt werden. Bei mir im letztem September.
Der Server bekommt eine neue Technik und beim Einspielen des Backup's ist es dann passiert, ohne das ihr noch einmal etwas gespeichert hattet, das diese Konvertierung erzeugt. Ich meine jetzt nicht die Umlaute, sondern den <p>-Tag

Andere Variante... mein deutscher Anbieter Strato gibt mir mehrere PHP-Versionen zur Auswahl. In der PHP-Version 5.6.3 ist ein PHP default_charset = ISO 8859-1 definiert, in den anderen Version ist kein default_charset definiert, dort gelten die Usereinstellungen in einer user.ini oder z.b. auch im CMS.
Die PHP-Version 5.6.3 kann ich dort nur benutzen, wenn ich in meinem CMS die gleiche Schriftsatzeinstell ung haben. Verwende ich UTF8, wird das ein Kauderwelsch. Mein CMS sendet UTF8 und der Server trägt dank diesem default_charset das in ISO 8859-1 ein, d.h. mein Editor sendet ein ü, das CMS wandelt um in ü und ISO 8859 läßt es genau so, also als ü. Beim späterem Auslesen im Frontend sollte dieses ü eigentlich vom Browser wieder in ein ü verwandelt werden, wird aber durch das default_charset ISO 8859 anders konvertiert und ist im Browser wieder als ü zu sehen
Also im Grunde das, was bei dir grad passiert, nur mit anderen Ursachen

Weitere Vermutungen wären eben der Wysiwyg-Editor, dann wäre es aber schon immer so gewesen oder ihr hab das dann doch erst bearbeitet


Wer nicht will, findet Gründe, wer will, findet Wege.