echo $begrüßung;
auf der Wikipedia Seite http://de.wikipedia.org/wiki/Englische_Sprache befinden sich ein paar zeichen die mysql (verbindung und db sind alle auf utf8) dazu veranlassen diesen fehler zu melden:
Incorrect string value: '\xF0\x90\x8C\xB0\xF0\x90...'
ich weiß leider nicht genau welche zeichen es sind, aber im wikimarkup (auf "seite bearbeiten" gehen) sind es die zeichen die nach "[[got:" folgen:
[[got:𐌰𐌲𐌲𐌹𐌻𐌰𐍂𐌰𐌶𐌳𐌰]]
sind die zeichen irgendwie ungültig?
Das sind gotische Zeichen, die in Unicode jenseits der Basic Multilingual Plane liegen, also Werte oberhalb von 0xFFFF haben.
oder liegt die schuld an mysql?
MySQL unterstützt nur die BMP: Unicode Support
irgendwie komisch, da wikipedia ja selbst mysql verwendet (oder?)
Vielleicht betreiben die ihre Felder nicht mit einer UTF-8-Kodierung.
was kann ich da machen?
Verwende den Feldtyp VARBINARY oder VARCHAR mit CHARACTER SET BINARY (was VARBINARY ergibt). Das hat aber den Verlust der UTF-8-Unterstützung für dieses Feld zur Folge, sprich: String-Operationen orientieren sich nicht mehr an den UTF-8-Byte-Sequenzen sondern denken 1 Byte = 1 Zeichen.
echo "$verabschiedung $name";