echo $begrüßung;
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
lässt sich der Charset in MySQL 4.1.18 ohne probleme ändern.
Bei MySQL 4.0.22 dagegen kommt ein Syntaxerror. da sich diese nicht geändert hat (vermut) wird das von dieser älteren Version nicht unterstütz.
Richtig. Version 4.0 kann nicht wirklich mit UTF-8 umgehen und hat das Thema Zeichenkodierung nur recht oberflächlich behandelt. Es ist zwar prinzipiell kein Problem, die UTF-8-Bytefolge in einer 4.0 abzulegen und von dort auch wieder herauszulesen, aber eine weitere Stringverarbeitung, wie Suchen und Sortieren, ist mit den Bytewerten nicht möglich. Dazu braucht man ein Verständnis für die verwendete Kodierung, und das hat für UTF-8 erst die Version 4.1.
Die Daten werden voraussichtlich aber auf der lokalen Version eingepflegt, ich vermute stark das es dann zu Komplikationen kommen wird, hat jmd tips?
Außerdem stolpern Kodierungs-Anfänger regelmäßig über die vielen verschiedenen Möglichkeiten MySQLs, eine Kodierung anzugeben und zu verwenden. Neben der Kodierungseinstellung der Felder ist vor allem die Einstellung der aktuellen Verbindung wichtig. Dies läßt sich on-the-fly auch erst ab Version 4.1 ändern, wofür man ein SET NAMES-Statement absendet oder besser die Funktion mysql_set_character_set() (die erst in PHP5 mit der mysqli-Extension eine Implementierung gefunden hat) verwendet.
Du bekommst also in beiden Fällen, Testserver und Produktivserver, unterschiedlichen Code bzw. Fallunterscheidungen, die sich um die Gegebenheiten der beiden Versionen zu kümmern hat.
echo "$verabschiedung $name";