dedlfix: MySQL-Client-Version: 3.23.49

Beitrag lesen

echo $begrüßung;

ich sehe schon, das ist mir im Moment nicht machbar. Denn wenn ich nicht utf8_encode() verwenden soll, weiss ich auch nicht weiter.

Wie ich sagte, du sollst generell auf UTF-8 umstellen, zumindest die Teile deiner Entwicklungsumgebung und deines Servers, die sich mit den Webseiten beschäftigen.

  • Content-Type im Header mit passender charset-Angabe ausliefern.
  • Content-Type-Meta-Element ebenso gestalten. Braucht man vor allem, wenn man die Seite lokal speichert und dann keinen HTTP-Header mehr hat.
  • Quelltexte als UTF-8 speichern. Das ist nur dann unbedingt nötig, wenn darin Zeichen jenseits von ASCII vorkommen.
  • (mindestens) Datenbankfelder unstellen
  • Verbindung mit "SET NAMES utf8" umstellen, besser noch mysqli und mysqli_set_charset() verwenden.
  • Beachten, dass PHP derzeit noch von 1 Zeichen == 1 Byte ausgeht und Stringoperationen UTF-8-Bytefolgen möglicherweise auftrennen.

Aber mal was anderes, wie hat MySQL-Client-Version: 3.23.49 das eigentlich gehandhabt? Da gabs doch soetwas wie Kolllation gar nicht.

Das ist die Client-API, der Teil in deinem PHP, der sich mit einem MySQL-Server unterhalten kann. Wenn keine aktuelleren API-Features (ab Version 4.1) verwendet werden, kann diese Version auch mit MySQL-Servern kleiner als 4.1 kommunizieren. Bytes werden einfach nur durchgereicht, die Kodierung ignoriert. Die Kollation (Sortierung) spielt beim Durchreichen sowieso keine Rolle.

Die Version eines bestimmten Servers bekommst du erst, wenn du dich mit diesem verbindest und ihn nach seiner Version befragst. Das kann die gleiche Version wie die Client-API sein, wenn beide aus den gleichen Quellen kompiliert wurden, muss aber nicht.

Sehe mir gerade eine alte DB an und selbst im topaktuellen PHPmyadmin erscheint nirgendwo eine Sprachcharacterangabe.

Alte MySQL-Server kennen nur eine Systemeinstellung für alles. Wenn es dich wirklich interessiert, lade dir aus dem MySQL-Archiv eine alte Version. Achte darauf, dass noch nicht das 4.1er Handbuch drin enthalten ist. Neuere 4.0er Versionen wurden bereits mit dem 4.1er Handbuch ausgeliefert.

echo "$verabschiedung $name";