Typo3 mit UTF-8

Besonders in internationalen Projekten sollte man darauf achten das die Typo3 Installation in UTF-8 läuft, weil es sonst Probleme mit den Umlauten geben kann bzw. wird. Im Internet finden sich auch bereits eine Menge Seiten mit Hilfestellungen jedoch ist das Problem vielschichtiger. Fangen wir von unten an:

1. Die Tabellen müssen in UTF-8 laufen
2. Die Verbindung zur Datenbank muss in UTF-8 laufen
3. Die Webseite muß dem Browser sagen, das alles in UTF-8 läuft

Ob die Datenbank in UTF-8 läuft sieht man in PhpMyAdmin. In der Spalte “Kollation” hier sollte “utf8_general_ci” stehen.

Wenn man in PHPMyAdmin auf die Startseite klickt (das kleine Häuschen) in der linken Menüleiste, ganz oben erfährt man etwas über die Verbindung Zeichensatz / Kollation der MySQL-Verbindung. Diese sollte natürlich auch in utf8_general_ci laufen.

Die Verarbeitung der Daten mit UTF-8 in Typo3 erreicht man durch folgenden Eintrag in der localconf.php im Ordner typo3conf. Alternativ kann man dies natürlich auch über das InstallTool* machen.:
[PHP]
$TYPO3_CONF_VARS[‘BE’][‘forceCharset’] = ‘utf-8’;
$TYPO3_CONF_VARS[‘SYS’][‘setDBinit’] = ‘set names utf8’
[/PHP]

Als nächstes müssen wir noch dem Browser mitteilen, das die Typo3 Seite in UTF-8 läuft. Das machen wir durch die beiden folgenden Einträge im TypoScript-Setup.

[PHP]
page.config.metaCharset = utf-8
page.config.additionalHeaders = Content-Type:text/html;charset=utf-8
[/PHP]

Anschließend sollte die Typo3 Seite in UTF-8 laufen. Hinter InstallTool hatte ich ein kleines * gemacht, weil ich dazu noch folgendes sagen will: Sicherlich macht die Umstellung auf UTF8 am Anfang eines Typo3 Projektes, bei dem es durchaus legitim ist, dass das Install Tool noch aktiviert ist. Sobald man das Install Tool jedoch einmal deaktiviert hat, durch ändern das Passworteres bzw. durch Löschen der ENABLE_INSTALL_TOOL kann man solche Einträge auch direkt in der localconf.php machen. Mehr macht das Install Tool auch nicht, bzw. ist man so natürlich noch schneller.

[random_content group_id=”211" num_posts=”1"]