Zum Inhalt springen

UTF-8

Erstellt am 4. März 2006 · 7 Antworten · letzte Antwort am 4. März 2006

Tags: Frage

avid ·

Suche eine vernünftige Anleitung um Typo3 auf UTF-8 Ausgabe zu trimmen.

Folgende Einstellungen habe ich schon vorgenommen:

config.metaCharset = utf-8
config.renderCharset = utf-8
config.additionalHeaders = Content-Type:text/html;charset=utf-8

das Backend wird in der localconf eingestellt:

$TYPO3_CONF_VARS['BE']['forced_charset'] = 'utf-8';

die Datenbank wurde auf "utf8_general_ci" eingestellt.

Was funktioniert:
• das Template (abgespeichert in UTF-8-) gibt darin vorkommende Umlaute korrekt aus (eintrag in php.ini).
• sämtlicher Umlaute aus der Datenbank werden nicht korrekt ausgegeben.

Wer hat eine Lösung für mich?

System:
PHP Version 5.0.4
MySQL 5.0.18

steffenk ·

Die Einstellungen sind korrekt.

Du hast wahrscheinlich die Datensätze nachträglich auf utf-8 geändert. Der Fehler liegt an der DB.
Datenbank muss utf8 haben und die Tabellen auch. Erst dann werden die Datensätze auch als utf8 gespeichert.

avid ·

Hallo!

ja - die Umstellung erfolgte nach der Installation.

Wie wäre nun das richtige vorgehen um die Seite umzustellen?
Alles neu?

thx. Alex

steffenk ·

nein. nur die Inhalte müssen neu in die DB.

Versuch ein Backup zu machen (tt_content), änder die Umlaute im Texteditor und spiele es wieder ein.

avid ·

So, testhalber bin ich mal so vorgegangen:

1) neue Datenbank erstellt (utf8_unicode_ci)
2) typo-installation mit dieser datenbank durchgeführt
3) wieder das backend auf utf-8 umgestellt
4) dasselbe mit dem fe

und: leider nein

in der Datenbank (phpmyadmin - utf-8-) sind die Umlaute alle korrekt eingetragen - auch im typo3-BE sind werden sie korrekt dargestellt (auch wenn der pagetree - trotz forcecharset - mit iso-8859-1 dargestellt wird)
nur im fe klappt es nicht.

steffenk ·

welcher Charset wird denn laut Header erzeugt ?

müsste ja das drinstehen:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
avid ·

Ja -

<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

nichts anderes zeigt die Seiteninformation des Firefox - allerdings: stelle ich im Firefox die Textcodierung die bei jedem Seitenaufruf automatisch auf UTF-8 gestellt wird, auf 8859-1 (ohne die Seite zu reloaden) so werden die Umlaute korrekt angezeigt - allerdings nicht mehr jene die vom html-template stammen...

Danke für deine Hilfe!

avid ·

#angry#

Arrrgh: in der localconf sollte der Eintrag so heissen:

$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';

und nicht force_charset...

@steffenk: danke für Deine Hilfe