[TYPO3-german] setDBinit

Peter Niederlag niederlag at ikd01.de
Wed Feb 18 12:54:55 CET 2009


Hallo,

Michael Stucki schrieb:
> Hallo Peter!
[...]
>> Warum sollte es mit setDBinit Probleme geben? Hast Du da ein Beispiel?
> 
> Jemand verwendet setDBinit, setzt die MySQL Verbindung für die
> TYPO3-Verbindung auf "UTF-8". Danach ruft er ein externes (nicht das in
> TYPO3 integrierte) phpMyAdmin auf, möglicherweise noch mit einem anderen
> DB-User. Diese Verbindung wird den Standard nutzen, d.h. "latin1".

Das ist IMO absolut problemlos! Zumindest wenn der Zeichensatz, der bei
den Feldern(MySQL) hinterlegt ist, auch dem entspricht der drin ist! :->

> Aus dem Grund halte ich setDBinit für einen Workaround, aber nicht für
> die saubere Lösung. Man sollte wenn möglich den Zeichensatz immer global
> festlegen (d.h. in my.cnf).

Jein, aber das ist dann wohl auch einfach Ansichtssache. ;)

[...]
> Stimmt. Gleich wie bei setDBinit kostet das jedoch bei jedem
> Verbindungsaufbau ein zusätzliches Query. Darum würde ich, nach
> Möglichkeit, die Variante mit skip-character-set-client-handshake verwenden.

OK, der zusätzliche 'query' ist ein Argument, spielt aber IMO
performancetechnisch eine absolut untergeordnete Rolle, da (vermutet!)
im Bereich unter 5 Millisekunden.

>>> Warum würdest du das nicht empfehlen?
>> Weil jeweils nur die Anwendung/der Client weiss, in welchem Zeichensatz
>> sie Ihre Daten abliefert, und in welchem Zeichensatz sie das Ergebnis
>> erwartet! Und ein MySQL-Server, der wirklich ÜBERALL durchgängig utf8
>> verwendet, eher die Aussnahme, denn die Regel ist. Und, wenn eine
>> Anwendung failsafe sein soll, muss sie das ganze so oder so nochmal
>> prüfen und ggf. ändern. Dafür gibt es ja die 'character_set_%' Variablen. ;)
> 
> Ja. Was man machen könnte ist in TYPO3 eine art Autodetection einzubauen
> und setDBinit damit zu ersetzen. Allerdings geht das erneut auf Kosten
> eines bzw. von zwei weiteren Queries bei jedem Verbindungsaufbau...

Autodetection ist schwierig, zumal man ja nicht weiss, dass nicht doch
morgen mal was anderes kommt. Alle Einstellungen sinnig passend zu
forceCharset zu prüfen/zu setzen ist hingegen machbar. Sehr schwierig
ist nur dabei bereits bestehende Problem- und absonderliche Sonderfälle
entsprechend zu berücksichtigen.

FYI: Stucki und ich wollen uns auf der Snowboard-Tour nochmal Lösungen
für diese Problematik anschauen.

Gruß,
Peter
-- 
Peter Niederlag
http://www.niekom.de * TYPO3 & EDV Dienstleistungen *
http://www.typo3partner.net * professional services network *


More information about the TYPO3-german mailing list