UTF-8-Umgebung für TYPO3-Projekte einrichten

Das UTF-8 die Zeichenkodierung der Wahl ist, hat sich mittlerweile bei den meisten Entwicklern herumgesprochen. In diesem Blog-Eintrag wird gezeigt, wie man ein neues TYPO3-Projekt unter dem Apsekt der UTF-8-Kodierung einrichtet.

Wichtig ist hier vor allem die richtige Reihenfolge, damit später nicht zwei verschiedene Zeichensätze in der Datenbank landen. Ein zweiter Artikel zeigt, wie man ein vorhandenes TYPO3-Projekt umstellt.

1. TYPO3 Basisversion installieren (Source+Dummy)

2. Datenbank erstellen

CREATE DATABASE datenbank_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Die Kollation „utf8_general_ci“ wird empfohlen. „utf8_unicode_ci“ ist zwar genauer, aber langsamer und unterscheidet sich im Deutschen nur bei SELECT-Abfragen, bei denen im Datensatz ein „ß“ vorkommt. Hier würde im einen Fall nach einem einfachen, im anderen Fall nach einem doppelten „s“ sortiert.

3. localconf.php anpassen

$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8';

Diese Einstellungen müssen unbedingt vor dem Import der TYPO3-Tabellen gemacht werden. Dadurch verwendet TYPO3 UTF-8 als Zeichenkodierung und auch die Verbindung zur MySQL-Datenbank erfolgt über UTF-8.

Durch setDBinit ist man unabhängig von den Einstellungen aus my.conf. Auch bei einem Umzug auf einen anderen Server bleibt die Datenbankverbindung konsistent.

Erst jetzt darf die letzte Schritt im TYPO3 Install Tool zum Import der Datenbank durchgeführt werden.

4. Test der Installation

Im Backend einen Admin-Benutzer mit Umlauten anlegen (zum Beispiel Müller). Sowohl im Backend als auch in phpMyAdmin muss in der Spalte realName ein „ü“ angezeigt werden. Wird irgendwo das „ü“ als „ü“ angezeigt, ist leider etwas schief gelaufen.

5. Webserver

Der Browser erkennt die Kodierung der Website zunächst am Content-Type-Feld im HTTP-Header. Nur wenn der HTTP-Header keine Angaben zur Kodierung enthält, wird der Content-Type Meta-Tag im HTML-Code ausgewertet. TYPO3 setzt aufgrund des forceCharset ebenfalls den richtigen HTTP-Header, auch wenn der Webserver eventuell noch auf charset=ISO-8859-1 eingestellt ist.

6. Browserausgabe prüfen

Durch die forceCharset Angabe werden bereits die Inhalte der Website in UTF-8 ausgegeben. Die TypoScript Einstellungen für config.metaCharset und config.renderCharset sollten überprüft und gegebenefalls entfernt werden.

7. Templates

Alle HTML-Templates sollten ebenfalls UTF-8 kodiert abgespeichert werden, damit darin enthaltene Sonderzeichen wie Umlaute usw. korrekt dargestellt werden.

One Response to UTF-8-Umgebung für TYPO3-Projekte einrichten

  1. […] erste Teil hat das Vorgehen bei einer neuen TYPO3-Installation beschrieben. In der Praxis kommt es aber auch […]

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: