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

Antwort per Email an