Hi Lars,
das mit den Charsets ist immer wieder eine "freude".
Deine server Settings :
Server characterset: latin1
DB characterset: latin1
Client characerset: latin1
Conn. characterset: latin1
Sind nur die defaults falls der client nix anderes aushandelt.
Meistens liegt das problem daran das typo3 utf-8 daten schickt. Ohne eine utf-8 
verbindung auszuhandeln. Dann speichert der datenbank server halt "komische 
zeichen" weil er das utf-8 als latin1 interpretiert.
Und typo3 nimmt das latin1 wieder raus und interpretiert es als utf8. Nur in 
der Datenbank steht halt "mist".


Nun Zu den typo3 einstellugnen:
[SYS][UTF8filesystem] = 1 -- heist nur das der fileadmin utf-8 zeichen erlaubt. 
Hat also gar nix mit der datenbank zu tun.
[BE][forceCharset] = utf-8 -- das Backend wird mit UTF-8 Encoding ausgeliefert 
statt latin1, betrifft die Datenbank nur indirekt.
[SYS][setDBinit] = -- hier sollte eigendlich "set names utf8" stehen um die 
Datenbank verbindung in allen Belangen auf utf8 zu setzten.

Mein vorgehen wenn ich so eine "kaputte" Installation habe. Ist immer folgende 
erstmal mach ich ein datenbank dump mittels mysqldump.

Dann versuche ich herauszufinden in welchem "echten encoding" die daten 
hinterlegt sind. (dazu hilft es ein programm zu haben wo du beim öffnen 
expliziet sagen kannst als was
Die daten interpretiert werden sollen. dann weisst du schon mal sicher das ich 
"utf-8 daten habe. Der dump aber denkt es währen latin1 daten.

Dann kann man im dump mittels suche und ersetzte das Charakterencoding der 
datenbanken und tabellen 
Ändern. So das der mysql dump auch korrekterweise behauptes es währen utf-8 
daten drin.

Danach spielt man den mysql dump (in eine neue datenbank wieder ein) ändert das 
setDBinit auf "set names utf8" und passt die datenbank verbindung auf die neue 
datenbank an.

Und schaut erstmal ob im backend die umlaute in Ordnung sind. Wenn das gut 
aussieht schaut man noch mal im frontend. (es kann sein das man noch ein paar 
typoscript settings anpassen muss um die 
Darstellung im Frontent zu fixen. 
config.metaCharset -- welches charset wird im meta tag der seite angegeben
config.renderCharset -- welches charset wird von typo3 fürs interne rendering 
genutzt.
Diese beiden settings führen unter umständen dazu das typo3 character 
convertierungen vornimmt.

Gruss chris

-----Ursprüngliche Nachricht-----
Von: typo3-german-boun...@lists.typo3.org 
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Lars Brinkmann
Gesendet: Mittwoch, 11. Februar 2015 09:52
An: German TYPO3 Userlist
Betreff: Re: [TYPO3-german] Falsche Umlaute in Datenbank und nach Update auf 
Webseite

Hallo zusammen,

leider bin ich mit meinem Problem immer noch nicht wirklich weiter gekommen.
Alle Konvertierungsversuche sind bislang fehlgeschlagen. Vielleicht bin ich 
auch falsch an das Problem ran gegangen. Hier also ein neuer Versuch.

Ich habe mich per Shell mit der Datenbank verbunden und den Status ausgeben 
lassen. Dort steht dann:

Server characterset: latin1
DB characterset: latin1
Client characerset: latin1
Conn. characterset: latin1

Ok. Lasse ich mir also den Status der Tabelle anzeigen. Hier steht dann:
tt_content utf8_general_ci

Wenn ich mir dann mit SELECT bodytext FROM tt_content; den Inhalt in der 
Konsole anzeigen lasse, erhalte ich eine Ausgabe mit korrekter Darstellung der 
Sonderzeichen. Sogar die chinesischen Zeichen werden korrekt angezeigt.

Gehe ich nun mit pypMyAdmin auf diese Datenbank bekomme ich zunächst einmal 
angezeigt:
Server-Zeichensatz: UTF-8 Unicode (utf8)

Steht ja schon einmal im Gegensatz zu dem, was mir der Status in der Konsole 
sagt.

Lasse ich mir dann die Daten von tt_content anzeigen, stehen auf dem Bildschirm 
komische Sonderzeichen statt der Umlaute:
"... GmbH übernimmt ..."

TYPO3 ist wie folgt konfiguriert:

[SYS][UTF8filesystem] = 1
[BE][forceCharset] = utf-8
[SYS][setDBinit] =

Im TypoScript ist KEIN Charset definiert, in der HTML-Ausgabe steht aber:
< meta http-equiv="Content-Type" content="text/html; charset=utf-8" / >

In dieser Konstellation zeigt TYPO3 4.5.39 die Seite mit allen Sonderzeichen 
(deutsch/chinesisch) korrekt an. Nach einem Update auf
TYPO3 6.2.9 sind alle Sonderzeichen "kaputt".

Ich frage mich nun, wo erst einmal der grundlegende Fehler zu suchen ist?
Sind die Daten schon in der Datenbank falsch gespeichert? Aber warum kann ich 
sie mir dann in der Konsole korrekt anzeigen lassen? Und warum kann 4.5 sie 
korrekt zeigen, 6.2 aber nicht?

Viele Grüße, Lars Brinkmann

Am 5. Februar 2015 um 15:18 schrieb Lars Brinkmann <brinkmann.l...@gmail.com>:
> Hallo Peter und alle anderen,
>
> vielen Dank erst einmal für die Hilfestellung. Zum Glück kann ich mir 
> etwas Zeit lassen und ein wenig testen. Shell-Zugriff und iconv habe 
> ich bei diesem Projekt auch, so dass mir wohl auch die richtigen 
> Werkzeuge zur Verfügung stehen sollten.
>
> Durch Eure Antworten habe ich das Problem schon mal richtig verstanden 
> und kann es nun - hoffentlich - erfolgreich angehen.
>
> Viele Grüße, Lars Brinkmann
>
> Am 5. Februar 2015 um 11:06 schrieb Peter Linzenkirchner <li...@lisardo.de>:
>> Hallo Jost, Lars,
>>
>> ja, so funktioniert es. Der Fehler liegt in einer falschen 
>> Datenbank-Verbindung. Solange diese nicht explizit definiert wurde, war 
>> diese in älteren PHP Versionen automatisch latin (das entspricht 
>> setDBinit="set names latin").  Damit werden utf8-Datei über eine 
>> Latin-Verbindung gesendet. MySQL geht dann davon aus, dass es latin erhält 
>> und konvertiert nach utf8. Da die Daten aber bereits utf8 sind, sind sie 
>> danach doppelt utf8-kodiert. Auf dem Rückweg passiert das gleiche, deshalb 
>> stimmts in TYPO3 wieder ... Man musste deshalb in TYPO3 vor 4.6 immer 
>> setDBinit auf set names utf8 setzen, sonst hat man automatisch dieses 
>> Problem produziert. Leider ist das in der Regel nicht gemacht worden.
>>
>> Die Lösung ist, wie von Jost beschrieben:
>>
>> - Export in einen latin-Dump
>> - Dann im Dump charset=latin austauschen gegen charset=utf8
>> - und zurückspielen
>> - und dann setDBinit entfernen
>> - und als utf8 zurückspielen
>>
>> Das hat bei mir bisher immer funktioniert.
>>
>> Alternative bis 4.5 war übrigens, setDBinit auf "set names latin" zu setzen 
>> - dann wird die DB-Verbindung auf latin zurückgesetzt und die Umlaute 
>> stimmen wieder. Natürlich ist das nur ein Workaround, keine Lösung, die 
>> Inhalte der Datenbank bleiben ja doppelt utf8-kodiert; ausserdem 
>> funktioniert es nicht mehr in TYPO3 6.2.
>>
>> Gruß
>> Peter
>>
>>> Am 04.02.2015 um 22:07 schrieb Jost Baron <jost.ba...@gmx.de>:
>>>
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>> Hi Lars,
>>>
>>> wahrscheinlich stehen in der DB tatsächlich die kaputten Zeichen 
>>> drin, als einzelne Zeichen. Statt dem Unicode-Zeichen ä stehen da 
>>> also die zwei Unicode-Zeichen 'Ã' und '¤'.
>>>
>>> Ich hatte das Problem auch schonmal, die genaue Lösung weiß ich 
>>> nicht mehr. Die ging aber ungefähr so:
>>>
>>> 1. Hol dir einen Dump der Datenbank, latin1-codiert. Geht mit 
>>> `mysqldump -u <username> -p -r <outpufile>
>>> - --default-character-set=latin1 <dbname>`
>>>
>>> 2. Lade den Dump in eine neue DB, aber interpretiere die Datei dabei 
>>> als UTF8. Es kann sein, dass dass du dafür den Dump modifizieren und 
>>> die eine oder andere "set charset" oder "set names"-Direktive dadrin 
>>> entfernen oder ändern muss.
>>>
>>> Gruß Jost
>>>
>>> On 02/04/2015 09:41 PM, Lars Brinkmann wrote:
>>>> Sorry, die Mail war noch nicht fertig.... setDBinit ist leer, da 
>>>> steht natürlich nicht admin drin.
>>>>
>>>> Trage ich in setDBinit dieses hier ein: set names utf8;
>>>>
>>>> Dann werden die falschen Umlaute auch im Frontend angezeigt.
>>>>
>>>> Viele Grüße, Lars Brinkmann
>>>>
>>>>
>>>> Am 4. Februar 2015 um 21:38 schrieb Lars Brinkmann
>>>> <brinkmann.l...@gmail.com>:
>>>>> Hallo zusammen,
>>>>>
>>>>> ich habe hier ein älteres Projekt, bei dem ich nicht mehr 
>>>>> nachvollziehen kann, wie die frühere Einrichtung bzw.
>>>>> Konfiguration gewesen ist. Hier werden aber bei einem Update auf
>>>>> 6.2 falsche Sonderzeichen/Umlaute angezeigt.
>>>>>
>>>>> Ich beschreibe mal die Ausgangsposition.
>>>>>
>>>>> Aktuell läuft die Seite auf TYPO3 4.5.39. Charset für Ausgabe 
>>>>> steht auf utf-8 und alle Texte werden korrekt ausgegeben, auch die 
>>>>> Umlaute bereiten keine Probleme.
>>>>>
>>>>> Der Server-Zeichensatz lt. phpMyAdmin steht auf UTF-8, die 
>>>>> Kollation der Tabelle tt_content (und der anderen auch) steht auf 
>>>>> utf8_general_ci
>>>>>
>>>>> Im Feld tt_content#bodytext zeigt mir phpMyAdmin aber die Texte 
>>>>> schon mit falschen Umlauten an: "...Qualitätsanspruch..."
>>>>>
>>>>> Ich gehe also mal davon aus, dass mein Problem schon besteht und 
>>>>> nicht erst durch das Update auf 6.2 entsteht. Die Frage ist nun, 
>>>>> was kann ich hier tun, um das Problem zu beseitigen?
>>>>>
>>>>> TYPO3 ist wie folgt konfiguriert:
>>>>>
>>>>> [SYS]setDBinit] = admin [SYS]UTF8filesystem] = 1 
>>>>> [BE][forceCharset] = utf-8
>>>>>
>>>>> -- brinkmann.l...@gmail.com
>>>>
>>>>
>>>>
>>>
>>> -----BEGIN PGP SIGNATURE-----
>>> Version: GnuPG v1
>>>
>>> iEYEARECAAYFAlTSigcACgkQNme/yCvmvTKJnACfYPKXGNtT2R0UDIUiNuheMZ+g
>>> yU8AoLf3cs2vWm0oYsEUHf8H+6j/5TBi
>>> =GSqx
>>> -----END PGP SIGNATURE-----
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german@lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>>
>>
>> --
>> Xing: http://www.xing.com/profile/Peter_Linzenkirchner
>> Web: http://www.typo3-lisardo.de
>> Facebook: http://tinyurl.com/lisardo-multimedia
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german@lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
>
>
> --
> brinkmann.l...@gmail.com
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german@lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



--
brinkmann.l...@gmail.com
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an