TYPO3 Version 4.2, konvertiere zu UTF-8 Zeichensatz

Die Aufgabe war, eine alte TYPO3 Installation von latin1 auf Zeichensatz UTF8 umzustellen (unter Ubuntu 10.04).

Kollation (lat. Zusammentragen) nennt man den genauen Abgleich mehrerer abweichender Exemplare eines Textes (von Wikipedia).

Am einfachsten geht es mit Shell Zugriff zum Server, und PHPMyAdmin auf dem Server. Funktioniert aber nur mit MySQL ab 4.1.x.

Info: http://wiki.typo3.org/UTF-8_support

Alte Datenbank als SQL Befehle ausgeben

Mit dem Terminal Programm der Wahl (Terminal, Putty, iTerm) geht das mit einer Zeile. Die Option --compatible=mysql40 sorgt dafür, dass beim Export kein Zeichensatz definiert wird.

ACHTUNG: nach dem "-p" darf kein Leerzeichen zum Passwort sein.

sudo mysqldump -u<user> -p<password>  -hlocalhost --add-drop-table rudisflugis --compatible=mysql40 > /tmp/rudisflugis-neutral-utf.sql

Bei Option "-h" (host) kann anstatt "localhost" die IP Nummer eines anderen Servers eingetragen werden.
Allerdings sollte das nicht über das Internet gehen, da die Übertragung nicht verschlüsselt erfolgt.
Bei der Übertragung per Internet sollte man mit "SSH-Tunnel" arbeiten.

Datenbank mit PHPMyAdmin für den Import vorbereiten

Dazu im Webbrowser die URL aufrufen: http://localhost/phpmyadmin und mit user und password einloggen.

1. Datenbank auswählen: rudisflugis

2. An unteren Rand der Liste anklicken: "Alles auswählen"

3. Rechts daneben bei "markierte" anklicken "löschen" und "Ja"
   Die Datenbank "rudisflugis" ist jetzt leer, ohne Tabellen.

4. Dann in der Kopfzeile "Operationen" anklicken, und unten bei "Kollation"
   auswählen "utf8_general_ci" und mit Klick auf OK bestätigen.

Datenbank wieder füllen

Jetzt ist wieder die Kommandozeile an der Reihe. Nach dem Import prüft man mit dem Webbrowser, ob die Umstellung funktioniert hat.

ACHTUNG: nach dem "-p" darf kein Leerzeichen zum Passwort sein.

sudo mysql -u<user> -p<password> -hlocalhost rudisflugis < /tmp/rudisflugis-neutral-utf.sql

Dann sollten in PHPMyAdmin wieder alle Tabellen in der Datenbank zu sehen sein.

In TYPO3 localconf.php UTF8 forcieren

Im TYPO3 Backend bei Benutzerwerkzeuge anklicken Einstellungen, dann Reiter Adminfunktionen und Aktivierungsdatei für Installationsprogramm erstellen. Im Install-Tool das Passwort eingeben, und folgende Variablen einstellen:

5: All Configuration

[BE][forceCHarset] = utf-8

[SYS][setDBinit] = Set NAMES utf8

Dann ganz unten klicken auf "Write to localconf.php"

Leider muss man zum aktivieren der neuen Parameter den Apache Server  neu starten.
$ sudo /etc/init.d/apache2 restart

Wenn man das mit dem Editor in typo3-dummy/typo3conf/localconf.php eintragen möchte, muss man schreiben:

// Force TYPO3 to use utf-8 in frontend and backend
$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';

$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8';

Man beachte das abschließende Semikolon ";" am Ende der Zeile.

Leider muss man zum aktivieren der neuen Parameter den Apache Server  neu starten.
$ sudo /etc/init.d/apache2 restart

cag_pagebrowser anpassen

Wenn man die Extension cag_pagebrowser verwendet, muss man im deutschen Text die Umlaute neu schreiben und abspeichern.
Bei "rudisflugis" sind die deutschen Übersetzungen der Texte in den Template Konstanten bei Modelle definiert, siehe auch Typo3Pagebrowser.

# EXT: cag_pagebrowser muss immer auf der Ausgangsseite stehen - geht nicht in root-seite oder im mastertemplate
plugin.tx_cagpagebrowser.browsewords = 1
plugin.tx_cagpagebrowser {
  last = zum Ende der Serie
  previous = eine Seite zurück
  first = zurück zum Anfang
  next = zur nächsten Seite
  }

Liste der Seiten in dieser category:

-- RudolfReuter 2011-03-10 18:14:56


Go back to CategoryTypo3 or StartSeite ; KontaktEmail (ContactEmail)

Typo3ConvertToUtf8 (last edited 2011-04-01 21:12:53 by dslb-084-058-159-157)