Seite 1 von 1

[4.9.7] Update von 4.8 nach 4.9.7 Umlaute

Verfasst: Do 16. Apr 2015, 15:05
von mattmarr
Hallo!

Ich habe ein Update von 4.8.20 zu 4.9.7 gemacht.
Klappte auch ohne Fehler.

Beim durchgehen des neuen Contenido(Module, Artikel, Kategorie, ...) sind mir folgende Dinge aufgefallen:

- Sobald sich im Modul ein Sonderzeichen/Umlaut befand, läßt sich das Modul nicht mehr anzeigen. Die Input und Output Fenster sind Leer. Nur ein Korrigieren in den Dateien selbst brachte erfolge.

- Die Zeichenkodierung war im Contenido 4.8.20 auf ISO-8859-1 eingestellt. Stelle ich diese jetzt in Contenido 4.9.7 auf utf-8 um, sind ebenfalls alle Module mit Sonderzeichen/Umlaute über das Backend nicht erreichbar.
Noch schlimmer ist, das bei den Artikeln die Artikelnamen ganz verschwunden sind. Da ist dann einfach nur ein leere Zeile.

- Versuch ich jetzt meine für 4.9.x erstellten Module in Contenido 4.9.7( Zeichenkodierung ISO-8859-1) zu Importieren, bleiben ebenfalls die Input und Output Fenster leer wenn sich darin ein Sonderzeichen/Umlaut befindet.

Das ist nicht schön!

Mach ich da irgendwas falsch?



Gruß
Matthias

Re: [4.9.7] Update von 4.8 nach 4.9.7 Umlaute

Verfasst: Do 16. Apr 2015, 15:21
von rethus
Achte auch darauf, welchen Zeichensatz deine DB hat. Das hat mir auch schon mal ganz delikate Probleme beschert.
Suche einfach mal nach UTF-8 oder utf8 hier im Forum, dazu findest du ne ganze Menge :|

Re: [4.9.7] Update von 4.8 nach 4.9.7 Umlaute

Verfasst: Di 21. Apr 2015, 06:56
von mattmarr
Hallo!

Das Problem scheint erst oder während des Update passiert zu sein. Denn die alte Version 4.8.20 funktioniert problemlos mit den Umlauten.
Nur nach dem Update auf 4.9.7 kann ich keine alten Module mehr fehlerfrei Importieren bzw. alte übernommene Module bekomme ich gat nicht erst zugesicht, wegen defekter Umlaute/Sonderzeichen.



Gruß
Matthias

Re: [4.9.7] Update von 4.8 nach 4.9.7 Umlaute

Verfasst: Di 21. Apr 2015, 13:33
von homtata
Ich habe das 4.9.x-Backend auch noch nie fehlerfrei zum Laufen gekriegt, wenn der Mandant auf iso-irgendwas eingestellt ist - der Modulteil spinnt dann fast immer.
Daher laufen bei mir alle 4.9.x-Mandanten unter utf-8.

Das umfasst:
- die Mandantensprache (vor allem für den Modulcode)
- die Einstellung in der /data/config/production/config.php
- die Datenbankkollationen

Sollte das jemand schonmal gelungen sein, das mit iso-irgendwas hinzukriegen, wäre das auch mal ein Feedback wert! Nicht, weil utf-8 nicht sowieso die wohl bessere Wahl ist, sondern einfach, weils nervt, dass es mit iso-codes nicht gehen mag...

LG

Re: [4.9.7] Update von 4.8 nach 4.9.7 Umlaute

Verfasst: Mo 28. Sep 2015, 07:03
von mattmarr
Hi!

Ich muss das Thema nochmal aufgreifen.

Wie gehe ich denn nun vor um das Umlauteproblem in den griff zu bekommen.

Contenido 4.8.20 ausgangssituation ist:
- Sprachen: ISO-8859-*
- MySQL Kollation latin1-swedish_ci

Vor dem Update auf 4.8.20 stelle ich die Sprachen auf UTF-8 um un korrigiere weitesgehend die Umlaute der Module und Kategorien.
Muss ich die MySQL Kollation auch vorher auf UTF-8???? umstellen?
Nach einem Update auf 4.9.8 sind die Umlaute wieder kaputt.
Woran kann das liegen?


Gruß
Matthias

Re: [4.9.7] Update von 4.8 nach 4.9.7 Umlaute

Verfasst: Mo 28. Sep 2015, 09:22
von Faar
Moin,

ich weiß, dass z.B. Wordpress auch UTF8 auf MySQL latin swedish laufen ließ, und tatsächlich funktioniert das auch, weil die UTF8 Zeichen in diesen sogenannten Hyroglyphen abgespeichert werden.
Die Datenbank gibt den Server dann die Botschaft, dass die Daten in latin swedish sind und der Server kann die UTF8 Hyroglyphen entsprechend behandeln.
Wenn man nun so eine bestehende Datenbank einfach umswitched in utf8 Kollation, dann entsteht womöglich ein Mix aus unterschiedlichen Kollationen.

Die Tabelle muss eigentlich in den Charakter-Satz geändert werden:

Code: Alles auswählen

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
Aber es kann auch komplizierter werden:

Code: Alles auswählen

Warning

The CONVERT TO operation converts column values between the character sets. This is not what you want if you have a column in one character set (like latin1) but the stored values actually use some other, incompatible character set (like utf8). In this case, you have to do the following for each such column:

ALTER TABLE t1 CHANGE c1 c1 BLOB;
ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;

The reason this works is that there is no conversion when you convert to or from BLOB columns.
Es ist ja nicht so, dass bei utf8 nur die Bezeichung geändert wird, das betrifft direkt die Bits und Bytes.
1 Latin = 1 Byte.
1 UTF8 = 3 Bytes.

Auf jeden Fall vorher die Daten sichern und dann ausprobieren.
Manchmal war es einfacher, die Daten heraus zu kopieren, in utf8 umzuwandeln und wieder abzuspeichern.
Bei Modulen funktioniert das so gut, wenn Sonderzeichen in Hieroglyphen umgewandelt wurden, dann diese Zeichen neu schreiben und abspeichern, fertig.

Re: [4.9.7] Update von 4.8 nach 4.9.7 Umlaute

Verfasst: Mo 28. Sep 2015, 14:30
von homtata
Heyho,
die Übernahme hat bei mir in den meisten Fällen geklappt, wenn der Mandant in 4.8 auf iso-xx stand (dafür musste der Wert aber oft auch erstmal tatsächlich gespeichert werden - er wurde oft im Dropdown so angezeigt, war aber nicht wirklich gespeichert).
Dann das Upgrade fahren, alle Werte auf utf-8 anpassen (aucn in der config.php usw., wie schon öfters beschrieben), und dann waren zumindest die Modulinhalte bei mir immer da. Ggf. waren Sonderzeichen zerschossen, aber das beeinträchtigte das Bearbeiten und Speichern der Module normalerweise nicht...

Re: [4.9.7] Update von 4.8 nach 4.9.7 Umlaute

Verfasst: Mi 30. Sep 2015, 14:11
von mattmarr
Hi!

Und noch ein Problem mit den Umlauten/Sonderzeichen.
Dieses mal bei den Mandanteneinstellungen.

Wenn ich z.b. bei Wert "Übel" eintrage, ist die Spalte nach dem Speichern Leer.
Mach ich aus "Übel" ein "Übel" und speicher es erneut, bleibt der Wert vorhanden.
Klicke ich erneut auf ändern bzw. speichern, ist die Spalte wieder geleert.

Wo liegt denn hier das Problem?


Gruß
Matthias

Re: [4.9.7] Update von 4.8 nach 4.9.7 Umlaute

Verfasst: Mi 30. Sep 2015, 14:29
von homtata
nochmal nachgefragt:

- steht die Sprache des Mandanten auf utf8? Nach dem Upgrade?
- steht in data/config/production/config.php folgende Zeile (ca. 89) auf:

Code: Alles auswählen

        'charset'  => 'utf8', // (string) The charset of connection to database
oder ist der Wert fälschlicherweise leer, also

Code: Alles auswählen

        'charset'  => '', // (string) The charset of connection to database
?

Re: [4.9.7] Update von 4.8 nach 4.9.7 Umlaute

Verfasst: Mi 30. Sep 2015, 15:17
von mattmarr
homtata hat geschrieben:nochmal nachgefragt:

- steht die Sprache des Mandanten auf utf8? Nach dem Upgrade?
- steht in data/config/production/config.php folgende Zeile (ca. 89) auf:
Bei Charset steht utf8.