Zum Inhalt springen

Update von 4.1.2 auf 4.2.0 - UTF8 Problem

Erstellt am 4. Juni 2008 · 8 Antworten · letzte Antwort am 24. Juni 2008

Tags: Update & Upgrade, Frage

spL ·

Hallo zusammen,

ich war schon ne Weile googlen und hab die verschiedensten Dinge gelesen jedoch konnte ich keine klaren Antworten finden.

Ich habe ein Typo3 von 4.1.2 auf 4.2.0 geupdated.
Nach dem Update habe ich das Problem, dass überall dort wo via TypoScript-Templates HTML-Content generiert wird die Umlaute nicht mehr dargestellt werden.
Also Ü's beispielsweise als Fragezeichen dargestellt werden.

Ersetze ich die Umlaute nun durch HTML-Specialchars was natürlich eh sinnvoll ist werden sie Prima angeziegt.
Ersetze ich die die Fragzeichen in meinen TypoScript-Templates druch normale Umlaute, zb: Ü werden diese auch wieder richtig dargestellt.

Im Content und an allen anderen Stellen werden die Umlaute übrigens richtig dargestellt.

Nun wollte ich wissen ob ich beim Updaten noch irgendwas beachten sollte damit meine Umlaute und Sonderzeichen auch in den TypoScripts erhalten bleiben?

Ich traue mich nicht das Update live zu stellen ehe ich nicht sicher ausschließen kann das es noch an anderen Stellen zu dieser UTF8 Problematik kommt #paralyzed#

Grüße,
spL

adventuremaker ·

kann es sein, dass $TYPO3_CONF_VARS['BE']['forceCharset'] bei 4.2 standardmäßig auf 'utf-8' steht? Vielleicht kannst du das im Install-Tool manuell zurückstellen...

spL ·
adventuremaker schrieb

kann es sein, dass $TYPO3_CONF_VARS['BE']['forceCharset'] bei 4.2 standardmäßig auf 'utf-8' steht? Vielleicht kannst du das im Install-Tool manuell zurückstellen...

Ja, ich meine das ist nun immer auf UTF8. Das Ding ist aber, dass ich den in der alten Version auch schon auf UTF8 stehen hatte...

tmeixner ·

Was steht denn in der ersten Zeile im source code deines html documents?
Bei mir steht da:

<?xml version="1.0" encoding="utf-8"?>

gugg auch mal im Object Browser, bei mir steht beides auf utf8

config.renderCharset
config.metaCharset

Theoretisch wenn deine Datenbank in utf-8 encoded ist sollte das ja eigentlich funktionieren.

spL ·

Meine Settings vor und nach dem Update:

TS Config:

    ###UTF-8###
    metaCharset = utf-8
    renderCharset = utf-8
    additionalHeaders = Content-Type:text/html;charset=utf-8

HTML-Source:

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

Localconf.php:

$TYPO3_CONF_VARS['BE']['forceCharset']= UTF-8

Wie gesagt die Fragezeichen sind nur nach dem Update und nur in den HTML-Contents die druch TypoScript generiert werden vorhanden. Ersetzte ich sie im TS normal durch einen Umlaut und speicher werden sie auch wieder richtig dargestellt.

tmeixner ·

hm, dann scheint das encoding problem also von "externen" dateien zu kommmen. Ich kenn mich zwar mit character encoding nicht so gut aus aber waren denn die externen files auch in utf-8 abgespeichert? In PsPAD gibt es da eine Menge Optionen unter "Format", vielleicht ist es ja mal interessant damit rumzuspielen.

spL ·
Gunah schrieb

was passiert wenn du alles als ISO-8859-1 im TS definierst geht es dann?

Dann hab ich überall, selbst im Content nur noch kryptische Zeichen dort wo Umlaute stehen sollten...

Ich gebs auf lass alles so wie es ist und geh an den Stellen wo die Umlaute mit Fragezeichen erscheinen (TS mit HTML Ausgabe) händisch ran.

junges ·

Hi,

das sieht so aus, als ob Deine Datenbank nicht korrekt auf UTF-8 eingestellt ist.
Verbinde dich mal mit Deiner Datenbank und setze folgendes Kommando ab:

sql> show variables like '%char%';

Dabei sollte es im optimalen Fall so aussehen:

Variable_name | Value
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/

Steht bei Dir vielleicht irgendwo latin1?
ggf. musst Du Deine Datenbankinhalte nach UTF-8 konvertieren.
Wie sehen denn Deine Inhalte in der Datenbank aus?
Verwende einen UTF-8 unterstützenden DB Client und sieh Dir hier mal die Inhalte aus tt_content an. Wie werden Texte mit Umlauten dargestellt?
Du sagst, dass beim Ändern kaputter Characters und erneutem Abspeichern die Inhalte OK sind. Das deutet auf einen 'gemischten' Charset hin.

Gruß
junges