Hallo,
obwohl in der 8'er überall UTF-8 ausgewählt ist (nur bei einigen Objekten und Dokumenten ISO), auch das Backend auf UTF-8 läuft, sind nach einem Rebuild auf der 9.05'er die Umlaute zerschossen. Die Tabellen sind UTF8, der Standard-Charset vom Apache und PHP sind auf UTF-8. Ich weiß gerade echt weiter Der Verbindungssatz auf der 8'er steht wohl auf ISO, was aber kein Problem darstellen sollte, weil nach dem Update und der Konvertierung ja zunächst alles funktioniert.
Hat jemand einen Plan? Ist leider ein 40GByte Projekte, so dass man nicht mal eben was ausprobieren kann.
Grüße!
Umlaute Update 8.1.4 auf 9.05
Umlaute Update 8.1.4 auf 9.05
OMOC.interactive https://www.omoc.de/ - webEdition e.V. Gründungsmitglied & Ex Fördermitglied
Re: Umlaute Update 8.1.4 auf 9.05
Hallo,
so spontan leider nicht. Eventuell kannst du ja einen Teil deines Projekts extrahieren (z.B. die Objekte), da könnte man dann schneller etwas ausprobieren.
Wie sehen denn zum Beispiel korrupte Einträge in der Datenbank aus und welche ISO-Kodierung wurde mal verwendet?
Was genau meinst du mit Einige Objekte bzw Dokumente haben ISO ausgewählt?
Schöne Grüße
Nils
so spontan leider nicht. Eventuell kannst du ja einen Teil deines Projekts extrahieren (z.B. die Objekte), da könnte man dann schneller etwas ausprobieren.
Wie sehen denn zum Beispiel korrupte Einträge in der Datenbank aus und welche ISO-Kodierung wurde mal verwendet?
Was genau meinst du mit Einige Objekte bzw Dokumente haben ISO ausgewählt?
Schöne Grüße
Nils
Re: Umlaute Update 8.1.4 auf 9.05
... blöd, ich wurde mal wieder nicht über neue Kommentare benachrichtigt.
Vorher und nachher sehen die Einträge in der DB so aus "Wir schaffen Vorteile für die Region" (utf8_unicode_ci/uft8_general_ci), in WE kein Zeichensatz bei der Klasse oder beim Objekt angegeben. Backend UTF-8, Verbindungssatz Latin1. Ich habe dann vorher überall UTF-8 angegeben und JA - das Backup lief komplett durch (also inkl. der Umwandlung).
Hmm ...
Vorher und nachher sehen die Einträge in der DB so aus "Wir schaffen Vorteile für die Region" (utf8_unicode_ci/uft8_general_ci), in WE kein Zeichensatz bei der Klasse oder beim Objekt angegeben. Backend UTF-8, Verbindungssatz Latin1. Ich habe dann vorher überall UTF-8 angegeben und JA - das Backup lief komplett durch (also inkl. der Umwandlung).
Hmm ...
OMOC.interactive https://www.omoc.de/ - webEdition e.V. Gründungsmitglied & Ex Fördermitglied
Re: Umlaute Update 8.1.4 auf 9.05
Das spricht doch dafür, dass deine Umlaute als ISO 8859-1 interpretiert wurden.
Seltsam...
Wenn du jetzt in deinen Dokumenten entsprechend neue Umlaute einfügst, bleiben die so wie sie sind oder würden die bei einem Rebuild auch auseinandergenommen?
Seltsam...
Wenn du jetzt in deinen Dokumenten entsprechend neue Umlaute einfügst, bleiben die so wie sie sind oder würden die bei einem Rebuild auch auseinandergenommen?
Re: Umlaute Update 8.1.4 auf 9.05
... jetzt wurde ich auch benachrichtigt
Ja, wenn ich jetzt Umlaute eintrage, werden die korrekt angezeigt. Eigentlich hätten die beim Update unberührt bleiben müssen, da ich ja extra angegeben habe, dass es sich um UTF-8 handelt. Oder wird via PHP überprüft um welchen Charset es sich handelt?
Ja, wenn ich jetzt Umlaute eintrage, werden die korrekt angezeigt. Eigentlich hätten die beim Update unberührt bleiben müssen, da ich ja extra angegeben habe, dass es sich um UTF-8 handelt. Oder wird via PHP überprüft um welchen Charset es sich handelt?
OMOC.interactive https://www.omoc.de/ - webEdition e.V. Gründungsmitglied & Ex Fördermitglied
Re: Umlaute Update 8.1.4 auf 9.05
Zur Charset Erkennung kann ich nichts sagen.
Aber wäre ja seltsam, wenn du UTF-8 kodierte Zeichen hast und PHP kommt zum Ergebnis, das müsste jetzt uminterpretiert werden, in wE ist doch eh alles auf UTF-8 umgestellt.
Sicher, dass du in deiner Datenbank auch die Charsets der Spalten richtig eingestellt hast?
Aber wäre ja seltsam, wenn du UTF-8 kodierte Zeichen hast und PHP kommt zum Ergebnis, das müsste jetzt uminterpretiert werden, in wE ist doch eh alles auf UTF-8 umgestellt.
Sicher, dass du in deiner Datenbank auch die Charsets der Spalten richtig eingestellt hast?
Re: Umlaute Update 8.1.4 auf 9.05
... ganz sicher - gerade noch einmal nachgesehen. Die Objekt-Tabellen haben vorher und nachher utf8_general_ci. In der tblObjectFiles sind die Objeket Charsets gemischt. Es gibt einige ältere die sind ISO (sind aber Archivdaten, dürften nicht mehr korrekt angezeigt werden), die meisten haben nix (die habe ich via UPDATE auf die Tabelle alle auf UTF-8 gesetzt) und einige wenige UTF-8.
OMOC.interactive https://www.omoc.de/ - webEdition e.V. Gründungsmitglied & Ex Fördermitglied
Re: Umlaute Update 8.1.4 auf 9.05
@Mausi: nicht nur die Tabellen haben Charsets sondern (leider) auch jede Spalte. Das ist ja das riesen Problem.
Deine Daten sehen eher so aus, als würden die UTF8-Daten in eine latin Tabelle geschrieben. Aber egal, hier kann man nur durcheinander geraten. Ich schätze mal du hast die Seite auf UTF8 umgestellt, aber die Verbindung zur DB als latin laufen lassen. Dann kommen 2 Zeichen UTF-8 an, werden dann als 2 Zeichen latin-Kode interpretiert und dann als 2 Zeichen UTF-8 (4 Byte) in die DB geschrieben.
Man könnte sich mal eine Kopie einer (kleinen) Tabelle machen und auf der mal experimentieren. Im Prinzip könnte es gehen, wenn man die Spalte auf latin wandelt, dann müßte er die 4 Byte zu 2 Zeichen (2 Byte) konvertieren. Wenn man das dann auf binary umstellt interpretiert er es als Zeichen und das dann auf utf8-unicode dürfte am Ende korrekt sein, wie es hätte immer sein sollen. Ist jetzt aus dem Kopf und keine Garantie das es so klappt - aber wenn ich die Wandlungen hier richtig interpretiere sollte man es so "in place" korrigieren können. Mit einem Skript (kannst dich ja am we_update_updater.class.php convertToUtf8 orientieren) sollte man die Tabellen "retten" können.
Deine Daten sehen eher so aus, als würden die UTF8-Daten in eine latin Tabelle geschrieben. Aber egal, hier kann man nur durcheinander geraten. Ich schätze mal du hast die Seite auf UTF8 umgestellt, aber die Verbindung zur DB als latin laufen lassen. Dann kommen 2 Zeichen UTF-8 an, werden dann als 2 Zeichen latin-Kode interpretiert und dann als 2 Zeichen UTF-8 (4 Byte) in die DB geschrieben.
Man könnte sich mal eine Kopie einer (kleinen) Tabelle machen und auf der mal experimentieren. Im Prinzip könnte es gehen, wenn man die Spalte auf latin wandelt, dann müßte er die 4 Byte zu 2 Zeichen (2 Byte) konvertieren. Wenn man das dann auf binary umstellt interpretiert er es als Zeichen und das dann auf utf8-unicode dürfte am Ende korrekt sein, wie es hätte immer sein sollen. Ist jetzt aus dem Kopf und keine Garantie das es so klappt - aber wenn ich die Wandlungen hier richtig interpretiere sollte man es so "in place" korrigieren können. Mit einem Skript (kannst dich ja am we_update_updater.class.php convertToUtf8 orientieren) sollte man die Tabellen "retten" können.
webEdition-Kern-Entwickler
Re: Umlaute Update 8.1.4 auf 9.05
... Danke! Ja, mit der Zeichensatz-Codierung verhält es sich bei mir wie bei regulären Ausdrücken - ungeliebt und doch so wichtig.
Problem an der Sache - ich muss dem Kunden das erklären. Ich habe bereits einige kleinere Seiten von denen ohne Probleme umgestellt, welche neuerem Datums waren. Die haben leider kein Bock auf einen Servicevertrag mit regelmäßigen Anpassungen, so dass ich immer nur alle 2-3 Jahre ein Update machen kann, wenn die CSSlerin denen verklickert, dass das CMS veraltet ist. Das kostet denen jedes Mal einige tausend Euro. Denen fällt das halt schwer, weil man davon ja kaum was mitbekommt ("Texte einpflegen ging ja schon vor Jahren"). Die Hauptseite, um die es jetzt hier ging, war noch WE6.
Ich werde berichten ...
Problem an der Sache - ich muss dem Kunden das erklären. Ich habe bereits einige kleinere Seiten von denen ohne Probleme umgestellt, welche neuerem Datums waren. Die haben leider kein Bock auf einen Servicevertrag mit regelmäßigen Anpassungen, so dass ich immer nur alle 2-3 Jahre ein Update machen kann, wenn die CSSlerin denen verklickert, dass das CMS veraltet ist. Das kostet denen jedes Mal einige tausend Euro. Denen fällt das halt schwer, weil man davon ja kaum was mitbekommt ("Texte einpflegen ging ja schon vor Jahren"). Die Hauptseite, um die es jetzt hier ging, war noch WE6.
Ich werde berichten ...
OMOC.interactive https://www.omoc.de/ - webEdition e.V. Gründungsmitglied & Ex Fördermitglied
Re: Umlaute Update 8.1.4 auf 9.05
naja, aber Sicherheit kann man durchaus auch verkaufen.
webEdition-Kern-Entwickler
Re: Umlaute Update 8.1.4 auf 9.05
... bei kleineren Firmen eher als so bei so größeren, habe ich manchmal das Gefühl. Da wird noch mehr "gefrickelt", weil die Strukturen so groß sind. Nun ja ...
OMOC.interactive https://www.omoc.de/ - webEdition e.V. Gründungsmitglied & Ex Fördermitglied
Re: Umlaute Update 8.1.4 auf 9.05
... ich habe die Lösung:
UPDATE tblObject_39 SET
text_Slidertext=convert(cast(convert(text_Slidertext using latin1) as binary) using utf8)
Das muss ich jetzt nur über alle Tabellen laufen lassen ...
UPDATE tblObject_39 SET
text_Slidertext=convert(cast(convert(text_Slidertext using latin1) as binary) using utf8)
Das muss ich jetzt nur über alle Tabellen laufen lassen ...
OMOC.interactive https://www.omoc.de/ - webEdition e.V. Gründungsmitglied & Ex Fördermitglied
Re: Umlaute Update 8.1.4 auf 9.05
... die Object und Content-Tabellen (ca. 40) sind nun konvertiert. Zum Glück waren die Objekte alle ähnlich aufgebaut. Allerdings war ein "IGNORE" nötig, weil einige Einträge Probleme bereiteten bzw. die, die schon neueren Ursprungs waren und konvertiert werden.
UPDATE IGNORE tblContent SET Dat=convert(cast(convert(Dat using latin1) as binary) using utf8)
Bis jetzt sieht alles schick aus. Ich habe mir alle Befehle gespeichert, so dass ich nach dem Rebuild (> 1 Std.) und Durchsicht das ganze Projekt noch mal kopiere und alles noch mal machen werde. Sicher ist sicher, weil beim erneuten Versuch teilweise die Datensätze zerstört wurden.
Danke noch mal für den Support!
UPDATE IGNORE tblContent SET Dat=convert(cast(convert(Dat using latin1) as binary) using utf8)
Bis jetzt sieht alles schick aus. Ich habe mir alle Befehle gespeichert, so dass ich nach dem Rebuild (> 1 Std.) und Durchsicht das ganze Projekt noch mal kopiere und alles noch mal machen werde. Sicher ist sicher, weil beim erneuten Versuch teilweise die Datensätze zerstört wurden.
Danke noch mal für den Support!
OMOC.interactive https://www.omoc.de/ - webEdition e.V. Gründungsmitglied & Ex Fördermitglied
Re: Umlaute Update 8.1.4 auf 9.05
@mausi: danke für das Teilen hier, das kann in anderen Projekten hilfreich sein!
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 28 Gäste