Hallo Forum,
die Spezis unter euch werden sicherlich dieses Problem schon kennen, da ich heute bereits mehrere Einträge (Google, hier, etc.) gefunden habe. Leider hat mir nicht bei der Lösung des Problems geholfen. Folgendes hab ich gemacht:
1. MySQL-Dump + Typo3-Daten sind auf ein neues System gezogen.
2. Umlaute werden nicht mehr angezeigt.
-> 2.1. Im Quellcode der WebSite steht "<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />".
-> 2.2. Config-Einstellungen:
$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;';
'SET CHARCTER SET utf8;';
$TYPO3_CONF_VARS['SYS']['UTF8filesystem'] = '1';
$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
Nun hab ich rausgefunden, dass der alte Server bzw. mysql auf latin-1 gestellt war (Verarbeitung, DB, etc.) und der neue Server auf utf8. Ist nehme an, dass dies die Ursache des Problems ist. Hat jemand von euch eine Idee was ich nun machen muss?
Vielen Dank für jede Hilfe.
Hallo und willkommen im Forum!
Klick mich
Norman2k schrieb
Hallo und willkommen im Forum!
Klick mich
Danke Norman2k aber was soll ich jetzt genau tun. Wenn ich das richtig sehe hab ich alles bereits durch. Einen Dump hab ich ebenfalls schon erstellt und wieder eingespielt. Gleiches Ergebnis! Hab jetzt noch mal auf dem alten Server ein DUMP erstellt und mir diesen Dump angeschaut. Dort steht auch drin: "...SET character_set_client = utf8;". Demnach sind die Daten in der DB utf8?!
Bin echt ratlos?!
P.S.: Wenn ich eine Überschrift ändere und speichere wird es korrekt auf der Internetseite angezeigt. In die DB speichert er dann korrekt ein z.B. ß. Die alten Daten sind jedoch als UTF abgespeichert. Somit heißt es an anderer Stelle: "ß". Was kann ich tun? HILFE!!! 😉
Hat niemand eine Idee was ich tun kann? Hab mir noch mal den alten Server angeschaut und laut PHPmyAdmin ist die DB:
collation_connection latin1_swedish_ci
collation_database latin1_swedish_ci
collation_server latin1_swedish_ci
und auf dem neuen Server:
collation_connection utf8_unicode_ci
collation_database utf8_unicode_ci
collation_server utf8_unicode_ci
Bin über jede Hilfe dankbar, da ich langsam nicht mehr weiß was ich noch tun soll.
und welche collation haben die einzelnen DB-Tabellen?
Okay marmu, die einzelnen Tabellen sagen (auf beiden Servern):
utf8_general_ci
soviel sagt mir "show table status;".
Hast du eine Idee was ich noch tun kann damit die WebSite wieder richtig angezeigt wird?
War auf dem alten Server demnach die Übertragung zur DB in latin1 und die DB-Tabelle in utf-8?
Wie sehen denn die Umlaute im Dump in einem UTF-8 fähigen Editor aus?
Es gab keine Änderung innerhalb von Typo3. Ich hab nur die DB und alle WebDaten auf das neue System geschoben. Auf dem alten Server läuft es problemlos und auf dem neuen werden die Umlaute halt nicht dargestellt. In der DB steht es im UTF-8. Das heißt z.B.
in der neuen DB steht: für
in der alten DB steht: für
Ich versteh nicht wie das zusätzliche "Ã" in die DB kommt. Hast du oder ihr eine Idee?
Das ist alles andere als UTF-8! Also Dump ziehen und entsprechend bearbeiten, so wie es auf der Seite beschrieben wird, die ich verlinkt habe.
Also z.B. mit ivonv den Dump umwandeln oder eben den Dump importieren und dann mit Jigal´s script die neue DB bearbeiten
Aber auf dem alten Server funktioniert das doch?! Das verstehe ich nicht. Ich kann den ganzen Dump nicht bearbeiten, da es ca. 15mb sind und ich auch nicht mal weiß welche ganzen Sonderzeichen was jetzt darstellen sollen. Okay... würde man sicherlich noch irgendwie rausfinden aber ich denke da ist die Fehlerquote zu hoch! Warum hat typo3 überhaupt so nen Mist in die DB geschrieben?
In der alten Db hast Du mit latin1 übertrage Daten in eine utf-8 Tabelle geschrieben:
in der Datenbank steht für also ein latin1 ü in utf8. Wenn das ausgelesen wird, wird da wieder ein latin1 ü draus und in der Darstellung ist alles gut.
Die Umlaute in der Datenbank sind aber "kaputt".
Das für ist ein für nochmals in utf8 umgewandelt.
Danke für die Erläuterung. Das ist mir mittlerweile klar aber ich weiß nicht wie ich das Problem lösen kann. Kann ich die alte DB irgendwie per dump-umwandeln? Und falls das funktioniert, wie funktioniert es? Hast du eine Idee?
abalorio schrieb
Warum hat typo3 überhaupt so nen Mist in die DB geschrieben?
Weil es von dir, oder wem auch immer, so konfiguriert wurde!
abalorio schrieb
Kann ich die alte DB irgendwie per dump-umwandeln? Und falls das funktioniert, wie funktioniert es? Hast du eine Idee?
Lass mich raten, du hast dir den Link, den ich gepostet hatte, nicht angeguckt oder? PLONK!
So, ich hab dort jetzt fast alles getestet und was funktioniert ist:
iconv -f UTF-8 -t ISO-8859-1 typo3-alt.sql > dump-iconv.sql
Wenn ich mir die generierten Daten anschaue hab ich tatsächlich wieder ä, ö, ü im Dump. Nun bricht iconv aber leider mit folgender Fehlermeldung ab:
iconv: illegal input sequence at position 7061600
Was kann ich dagegen tun? Vielen Dank noch mal für deine Hilfe - wir kommen voran. 😉
Norman2k schrieb
Lass mich raten, du hast dir den Link, den ich gepostet hatte, nicht angeguckt oder? PLONK!
Natürlich hab ich mir deinen Link angeschaut. Leider führt das MEISTE eben nicht dazu, dass mein Problem gelöst wird. Was hilft ist wie schon gesagt:
iconv -f UTF-8 -t ISO-8859-1 typo3-alt.sql > dump-iconv.sql
Von daher war dein Hinweis schon richtig. Danke! Leider bricht iconv nur bei der Datengenerierung ab :-(
abalorio schrieb
So, ich hab dort jetzt fast alles getestet und was funktioniert ist:
iconv -f UTF-8 -t ISO-8859-1 typo3-alt.sql > dump-iconv.sql
Wenn ich mir die generierten Daten anschaue hab ich tatsächlich wieder ä, ö, ü im Dump. Nun bricht iconv aber leider mit folgender Fehlermeldung ab:
iconv: illegal input sequence at position 7061600
Was kann ich dagegen tun? Vielen Dank noch mal für deine Hilfe - wir kommen voran. 😉
Was steht denn an der Stelle?
Ein Euro-Zeichen vielleicht?
Was sagt
iconv --verbose .....
an der Stelle?
und was macht?
iconv --help
snip:
Output control:
-c omit invalid characters from output
Also, wenn ich folgendes mache läuft er durch:
iconv -f UTF-8 -t ISO-8859-1/TRANSLIT typo3-alt.sql > dump-iconv.sql
Der Dump wird erstellt bzw. umgewundelt. Wenn ich diesen Dump (nun mit Umlauten *freu*) importieren will beschwert sich jedoch mySQL mit folgender Meldung:
ERROR at line 1015: Unknown command '\''.
Dort steht HTML-Quelltext oder z.B. das:
INSERT INTO 'static_countries' VALUE (1,0,'AD','AND',20,39,'Principat d\'Andorra',...
Und wenn es nicht dieser Punkt ist, dass kommen die Inhalte dran. Dort gibt es im HTML schließlich auch diverse \ :-(. Eine Idee?
und was macht?
iconv --help
snip:
Output control:
-c omit invalid characters from output
Also das:
iconv -c -f UTF-8 -t ISO-8859-1 typo3-utf8.sql > dump-iconv.sql
läuft durch und generiert den Dump. Der Dump lässt sich auch in mySQL einspielen ohne Fehlermeldung. Allerdings ist die Seite zerschossen :-( :-/. Diverse Inhalte fehlen oder das Layout haut nicht mehr hin.
abalorio schrieb
Also, wenn ich folgendes mache läuft er durch:
iconv -f UTF-8 -t ISO-8859-1/TRANSLIT typo3-alt.sql > dump-iconv.sql
Der Dump wird erstellt bzw. umgewundelt. Wenn ich diesen Dump (nun mit Umlauten *freu*) importieren will beschwert sich jedoch mySQL mit folgender Meldung:
ERROR at line 1015: Unknown command '\''.
Dort steht HTML-Quelltext oder z.B. das:
INSERT INTO 'static_countries' VALUE (1,0,'AD','AND',20,39,'Principat d\'Andorra',...
Und wenn es nicht dieser Punkt ist, dass kommen die Inhalte dran. Dort gibt es im HTML schließlich auch diverse \ :-(. Eine Idee?
Schon versucht den dump zuteilen und mal Tabellenweise einzuspielen?
-c omit invalid characters from output
steht doch da: läßt ungültige Zeichen aus.