MacBook Banner 728x90
< TYPO3 Extension Quixplorer: Alle TYPO3 Dateien leicht editieren

TYPO3 türkisch beibringen

20.02.2009
Lina Wolf
TYPO3 türkisch
TYPO3 und türkisch Foto: nobiA, aboutpixel.de

TYPO3 für türkische Sonderzeichen vorbereiten

Damit auch türkische Sonderzeichen in TYPO3 funktionieren muss zunächst einmal TYPO3 auf UTF-8 umgestellt werden - so noch nicht geschehen.

Am idealsten ist es, man weiß bereits vor der Erstellung eines Projektes, dass dieses einmal mehrsprachig laugfen soll, dann kann das TYPO3 Projekt von Anfang an auf UTF-8 (Unicode) ausgelegt werden. Andernfalls it man gezwungen, alle Datenbankinhalte zu konvertieren.

TYPO3 mit UTF8-Unterstützung installieren

Es gibt viele Methoden TYPO3 fitt für türkische und andere Sonderzeichen zu machen. Die Empfehlungen im Internet wiedersprechen sich zum Teil und auch die Community scheint sich nicht einig zu sein, wie man das Problem am besten löst.

Hier meine Konfiguration, die auf zwei verschiedenen Servern problemlos funktionierte:

Einstellungen in TYPO3's Localconfig, zu finden unter typo3conf/localconf.php:

$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';   
$TYPO3_CONF_VARS['SYS']['multiplyDBfieldSize'] = '3';
$TYPO3_CONF_VARS['GFX']['TTFLocaleConv'] = 'utf-8';   

Wichtig ist, dass folgende Einstellung, die zum teil emphohlen wird nicht gesetzt ist:

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

sonst führt jeder Versuch Sonderzeichen einzufügen zu einer Fehlermeldung im TYPO3 Backend / RTE die besagt:
"102: These fields are not properly updated in database: (bodytext) Probably value mismatch with fieldtype. "

Hinterher sollte man die Datenbanktabellen nocheinmal neu erzeugen, wenn Sie schon erzeugt waren. (Achtung dabei gehen alle Daten verloren!!)

Dazu geht man per phpMyAdmin direkt in die Datenbank der TYP03 Webseite und löscht alle Tabellen (Daten gehen verloren!!!! Datensicherung nicht vergessen). Dann geht man in das TYPO3 Installtool (www.beispiel.com/typo3/install/index.php) und klickt unter 2: Database Analyser auf COMPARE um alle Tabellen zu erzeugen, dann auf  IMPORT um alle statischen (unveränderlichen) Daten zu importieren. Im anschluss kann man hier auch noch einen neuen Admin Benutzer erzeugen.

PHP Bug hinsichtlich türkischer Sprache

Normalerweise würde man die türkische Sprache nun im TypoScript auf folgendem Weg deklarieren:

# Türkisch/ 3. Sprache
[globalVar = GP:L = 2]
config {
        sys_language_uid = 2
        language = tr
        locale_all = tr_TR 

Nun führt aber die türkische Sprache ausgerechnet in einigen PHP Versionen, wohl vor allem in PHP 4 zu einem Bug. Dann wird im TYPO3 Frontend bei der Ausgabe der türkischen SPrache ein PHP Fehler geworfen.

Fatal error: Call to undefined method tslib_fe::setUrlIdToken() in
/var/www/web1/html/typo3/sysext/cms/tslib/index_ts.php on line 415 

Hiergegen kann man einen Patch installieren oder einfach die Sprache auf Englisch (UTF-8) setzen:

# Türkisch/ 3. Sprache
[globalVar = GP:L = 2]
config {
        sys_language_uid = 2
        language = tr
        locale_all = en_EN.UTF8  //workaround wegen TYPO3 Bug

 

Zu "TYPO3 türkisch beibringen"

Gravatar: Andreas Schmitt Zu
Hallo zusammen,
im Zusammenhang von TYPO3 und UTF-8 hat mir die erweiterung 'convert2utf8' sehr geholfen.
Ansonsten vielen Dank für den hilfreichen Artikel.

Zu "TYPO3 türkisch beibringen"

Gravatar: Lina Ourima Zu
Vielen Dank Herr Weiland,

wie gesagt die Angaben dazu, welche Konfigurations Version bei welcher Konstellation UFF-8 bzw türkische Sonderzeichen ermöglicht ist - wohl auch auf Grund der Verschiedenen MySQL und PHP Versionen recht wiedersprüchlich und verwirrend.

Und so konnte ich dann auch hier nur die Konstellation vorstellen, die auf zwei verschiedenen Servern funktioniert hat.

PS: Webseiten werden nur verlinkt, wenn ein Webseiten Titel angegeben ist. ich habe das mal für Sie nachgetragen.

Liebe Grüße Lina

Zu "TYPO3 türkisch beibringen"

Gravatar: Jochen Weiland Zu
Der Wert multiplyDBFieldSize kann bei MySQL > 4.1.18 auf den Wert 1 gesetzt werden. Generell können Werte > 1 zu Problemen mit der Tabelle sys_refindex führen, da hier ein Feld bereits standardmäßig die Größe von 200 Zeichen besitzt. Bei einem Multiplikator von 3 wird versucht die Größe auf 600 Zeichen aufzubohren, was dann fehlschlägt.
Das Problem mit locale_all und Türkisch betrifft PHP5. Ein Fix soll erst in PHP6 erfolgen. Der Einsatz von PHP4 (wo es noch funktioniert) ist nicht zu empfehlen, da diese Version nicht mehr gepflegt wird.

Zu "TYPO3 türkisch beibringen"

Gravatar: Anonym Zu
Vielen herzlichen Dank. Habe mich schon stundenlang erfolglos mit diesem Problem rumgeschlagen.

Kommentar hinzufügen

* - Pflichtfeld

*




*