[TYPO3-german] UTF8

Andreas Becker ab.becker at web.de
Sun Feb 27 00:51:36 CET 2011


Hi Michael

Das in einer Datei nichts drinnensteht bedeutet nicht, dass da nix
eingestellt ist! Das ist auch bei TYPO3 so. Viele Einstellungen sind in
TYPO3 voreingestellt und werden dann in localconf.php nur ueberschrieben.
Solange da nix drinnen steht gelten die default Einstellungen. das ist auch
so bei php, apache und mysql.

bei Debian stehen die Eintraege hier:

In aller Regel musst du alle oben benannten Eintraege erst in die
entsprechenden Dateien an den entsprechenden Plaetzen einfuegen

etc/mysql/my.cnf - hier fehlen by default die utf8 eintraege
etc/php5/apache2/php.ini - hier fehlen by default die utf8 und mbstring
werte
etc/apache2/httpd - die ist in der regel erst einmal leer und du kannst den
benannten Eintrag dort hinzufuegen

php.ini kann sich auch woanders befinden, denn das haengt davon ab wie du
php betreibst. als cgi oder apache module.

forceCharset ist out und man sollte es nicht mehr verwenden. Ebenso das SET
NAMES.

SET NAMES kann jedoch noch notwendig sein, wenn du eine Datenbank hast die
zwar UTF8 anzeigt aber im Grunde latin1-swedish ist. Am besten konvertiere
diese Daten gleich in richtiges UTF8.

Zum konvertieren zu UTF8 haben wir bisher sehr gute Erfahrungen mit
Wordpress gemacht. Installiere Wordpress in die TYPO3 Datenbank. Es werden
10 Tables hinzugefuegt die fuer uns keine Rolle spielen und die wir nachher
wieder loeschen. Dann installiere das Plugin
Damit werden alle Tables auch die von TYPO3 bearbeitet. Es wird zuerst alles
in s binaer format gewandelt, dann die utf8 einstellungen vorgenommen und
dann alles entsprechend zurueckgeschrieben. Wenn alles fertig ist checke die
Datenbank nach strange signs - TIP schreibe vorher das oben erwaehnte
Beispiel:

Iñtërnâtiônàlizætiøn
12345678901234567890

Dann siehst du gleich ob es geklappt hat oder nicht.

Ist alles fertig loeschst du die Wordpress tables wieder und den Wordpress
folder. Leider gibt es so einen Plugn nicht fuer TYPO3. die m TER
befindlichen UTF8 umwandler wandeln meist nur die Tabellen bezeichnung und
nicht die Daten selbst und dann hast du schnell einen latin1 utf8
kuddelmuddel den man nur schwer wieder auseinander klamuesern kann, wenn
ueberhaupt.

Steffen kennt sich ja auch mit dem MySQL Dumper aus und kann dir da sicher
noch mehr erklaeren, denn auch mit dem kann man Tables direkt in utf8
exportieren und dann eben wieder importieren. Was da genau vorsich geht kann
er dir besser erklaeren denke ich mal.

Das Haupt Problem das eigentlich dieses Chaos mit UTF8 verursacht ist MySQL.
Die ehemals schedische Firma wollte wohl schwedish als Lingua Franca
einfuehren - klappte nur nicht so ganz :-)

Bist du bei einem Shared Hoster der das Problem n icht so ernst nimmt, dann
hat der meist einfach mal so MySQL mit seinen Default Einstellungen
installiert und schon faengt das Theater an! Daher besser vorher checken wie
deren Einstellungen sind BEVOR man zu einem Shared Hoster wechselt. Auf
einem Dedi hast du diese Probleme in der regel nicht, es sei denn du machst
es wie der benannte Shared Hoster und installierst einfach mal Lamp mit den
default einstellungen und meinst nun alles sei in Butter!

----------

Liebe Gruesse

Andi


2011/2/27 Michael Meurer <typo3 at michael-meurer.info>

> Dann klärt mich doch bitte mal auf...
>
> Meine localconf-Einstellungen, die ich schon länger nutze, bis 4.4.x:
>
> $TYPO3_CONF_VARS['SYS']['t3lib_cs_convMethod'] = 'iconv'; (o. mbstring)
> $TYPO3_CONF_VARS['SYS']['t3lib_cs_utils'] = 'iconv';(o. mbstring)
> $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;';
> $TYPO3_CONF_VARS['SYS']['UTF8filesystem'] = '1';
> $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
>
> In der 4.5.x steht im Installtool "setDBinit" auf 'SET NAMES utf8;', aber
> nicht in der localconf.
>
> Diese sollten (lt. einem Thread in der englischen Liste und einer Rückfrage
> meinerseits) so stehen, damit Datenbank, Verbindung und Gifbuilder mit utf-8
> arbeiten.
>
> Bisher sah es auch immer so aus, das ein "ä" im Backend, in der DB
> (phpmyadmin) und im Frontend/Browser als "ä" dargestellt wurde.
> Zeichenkodierung im Browser wird als utf-8 angezeigt.
>
> Meine Datenbanken werden in utf-8 angelegt, das Feld "Kollation" hat nur
> den Eintrag "Kollation". Ich habe seit einer Woche Ubuntu 10.4. Vorher hatte
> ich OpenSuse 10.1, dort stand immer "utf8_general_ci".
> Bestehende bzw vom alten Server importierte DB's haben die Kollation
> "utf8_general_ci".
>
> In etc/mysql/my.cnf (vom Systen angelegt) steht KEIN Eintrag, der irgend
> einen Zeichesatz festlegt, kein utf8, iso-xyz oder sonstiges.
>
> In der php.ini sind alle charset-Angaben auskommentiert.
>
> In etc/apache2/apache2.conf oder einer http.include habe ich auch keinen
> Eintrag auf charset gefunden...
>
> Wo stehen die Einträge alle, von denn Andreas geschrieben hat...
>
> Ich hoffe auch, dass die Umlaute genau so behandelt werden, wenn ich
> "forceCharset" weg lasse.
>
> Wie sieht es aus, wenn ich "forceCharset" bei einer Seite entferne, in die
> bis jetzt nur die T3-Templates und die Navigation sind, noch keine Inhalte.
>
> Danke für eure Antworten und noch ein schönes Rest-WE.
>
> Gruß
> Michael
>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>


More information about the TYPO3-german mailing list