dedlfix: MySQL Verbindungskodierung

Beitrag lesen

Hi!

nein. Wenn man eine andere Zeichencodierung verwenden möchte als die in der Verbindung standardmäßig genutzte ...
Aha - es ist also üblich eine andere zu verwenden, als die Kodierung, die die Daten haben?

Nein, das hat Vinzenz nicht gemeint. Der konfigurierte Wert für character_set_client, character_set_connection und character_set_results könnte beispielsweise vom Hoster oder Administrator des MySQL-Servers auf latin1 stehen, was auch der Hersteller-Defaultwert ist. Wenn man selbst aber für seine eigenen Daten UTF-8 verwenden möchte, kann man das effektiv nur für die Felder der eigenen Tabellen konfigurieren. Damit hast du aber nur die Datenablage konfiguriert. Für die Verbindung zwischen Client und Server gelten für die drei oben genannten Konfigurationswerte die Default-Werte, wenn du sie nicht explizit und verbindungsindividuell auf utf8 stellst.

Wie MySQL die drei genannten Werten auf einer Client-Verbindung verwendet, lässt sich im Handbuchkapitel Connection Character Sets and Collations nachlesen.

Und jetzt komm mir nicht mit: Ich habe aber X Verbindungen zu Y Datenbanken, die alle eine unterschiedliche Zeichenkodierung haben und alle über ein PHP Skript abgefragt werden.

Das wäre auch ein Szenario, wenngleich ein wohl nicht sehr häufiges. Schon eher trifft man in der real existierenden Welt jedoch an, dass ein phpMyAdmin mit UTF-8 arbeitet und auf die selben Daten eine (noch nicht auf UTF-8 umgestellte) Latin1-Anwendung zugreift.

Lo!