Entwicklung & Design

Tipps zum Wechsel von Latin1 auf UTF-8: MySQL und TYPO3 auf UTF-8 umstellen

Seite 5 / 6

Was tun bei falsch codierten Zeichen?

Wenn bei einer MySQL-4.0-Datenbank im Install-Tool „forceCharset“ auf „utf-8“ gesetzt wurde, übermittelt TYPO3 die Zeichen utf-8-kodiert an die Datenbank. MySQL 4 kann damit allerdings nichts anfangen und speichert diese so, dass weder Suche noch Sortierung innerhalb von MySQL funktionieren. Wenn ein Dump von dieser MySQL-4.0-Datenbank gemacht wird, sind diese Daten schon UTF-8-kodiert und müssen nur noch in eine MySQL-4.1- oder 5.0-Datenbank importiert werden. Der benötigte Befehl ist in Listing 4 zu sehen. Es kommt auch hier wieder vor allem auf die Angabe „–default-character-set=UTF8“ an. Die Kollation der Datenbank muss vor dem Einspielen des Dumps ebenfalls auf „utf8_general_ci“ gesetzt werden. Da TYPO3 in alten Versionen Probleme mit aktuelleren MySQL-Versionen hatte, wird man dies sinnvollerweise nur bei einem Update auf eine neue TYPO3-Version machen. Erst diese bietet die notwendige Einstellung „SET NAMES utf8;“.

Und hiermit wären wir beim nächsten Problem: In alten TYPO3-Versionen gab es die Einstellung „[setDBinit]“ noch nicht und somit konnte „SET NAMES utf8;“ in älteren TYPO3-Versionen ohne Sourcecode-Änderung gar nicht durchgeführt werden. Selbst wenn man eine UTF-8-taugliche Datenbank verwendet hätte, wären falsch kodierte Zeichen die Folge. TYPO3 sendet in diesem Fall UTF-8-kodierte Zeichen zur Datenbank. Diese geht davon aus, es kämen Latin1-kodierte Zeichen und wandelt alle Umlaute erneut um. Somit hätte man nun doppelt kodierte Umlaute. In diesem Fall kann man aber einen Dump mit „iconv“ reparieren, indem man eine Wandlung von UTF nach Latin1 auf der Konsole vornimmt:

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

4 Kommentare
Urs Bräm

Toller Artikel! Hat mir extrem geholfen. Danke.

Allerdings habe ich wiederholt festgestellt, dass Halbgeviertstriche und einfache (typographische) Anführungszeichen nicht sauber konvertiert werden. Auf Windows 7 sind sie ganz verschwunden, mit IE 6 auf XP sind sie Kästchen sichtbar. Ob das an iconv liegt?

Antworten
xtine7
xtine7

Nur um sicherzugehen:
Wie werden Umlaute in phpMyAdmin angezeigt, wenn alles korrekt funktioniert:
„üöä“ oder „üöä“?

Antworten
ursbraem
ursbraem

@xtine7 Eigentlich ersteres. Aber as kann von phpMyadmin abhängen, bei uns zeigt es die Umlaute falsch an, obwohl alles richtig läuft (weil wahrscheinlich in PMA charset falsch gesetzt ist, ist ja auch nur eine webapp)

Antworten
xtine7
xtine7

Danke, gut zu wissen.
Habe nämlich zwei TYPO3-Installationen, beide auf UTF-8, beide zeigen Sonderzeichen korrekt an und verwende dieselbe Version der phpMyAdmin-Extension. Nur werden die Sonderzeichen eben einmal so „üöä“ und einmal so „üöä“ im PMA angezeigt.
Vielleicht liegt’s dann ja auch an der Serverkonfiguration.

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung