echo $begrüßung;
ich sende an ein PHP Script via GET Daten. Der String kommt dort als UTF8 an, was mir Umlaute zerstört.
Du beschreibst das Problem leider nicht sehr nachvollziehbar. Hast du es mal mit einem Minimal-HTML-Dokument nachgestellt? Wie sehen die HTTP-Header aus, wen der Server dieses ausliefert? Besonders interessiert da die eventuell vorhandene charset-Angabe im Content-Type-Header. Welche Browser betrifft das Problem?
PHP & Transfer Encoding sind iso-8859-1
Transfer Encoding hat meines Wissens nichts mit Zeichenkodierungen zu tun.
Mit uft8_decode kann ich den String zwar wieder in einen ISO String verwandeln, doch nicht alle Server sind da Gelich.
Was meinst du damit? Inwiefern sind "die Server" da nicht gleich?
Und wenn ich dann eine ISO String erhalten und den mit utf8_decode umwandle stimmts wieder nicht.
Das kann ja auch nicht, weil ein ISO 8859-1-String mit Byte-Werten größer als 127 kein gültiger UTF-8-String ist und nicht fehlerfrei dekodiert werden kann. Eventuell solltest du vorher testen, ob die Bytefolge gültiges UTF-8 darstellt. (function seems_utf8()) Das wäre für mich aber nur eine Notlösung, wenn nach gründlicher Analyse des Problems keine generelle Lösung gefunden werden kann.
Man muß dazu sagen daass mein Rechner UTF8 als Standardzeichensatz eingestallt hat, PHP aber ISO-8859-1 und Transfer-Encodeing mit ISO-8859-1 Configuriert sind.
Vielleicht haben deine Dokumente eine UTF-8-BOM?
PHP kann erst ab Version 6 mit Unicode umgehen. Es nimmt in früheren Versionen keinerlei Umwandlungen automatisch vor.
echo "$verabschiedung $name";