Hallo Sebastian,
- Meine MySQL-DB, die Tabellen und die Felder in den Tabellen haben die Collation utf8_unicode_ci.
- Das Charset der produzierten HTML-Seite ist UTF-8.
- Die PHP-Sourcen sind alle UTF-8 codiert.
Aber sobald ich einen Umlaut aus der DB auslese bekomme ich nur ein ?.
hast du denn daran gedacht, die *Inhalte* der DB auch von (vermutlich) ISO-8859-x auf UTF-8 umzucodieren? Falls nein, ist das nur logisch, was du beobachtest:
Du liest DB-Inhalte aus, die ISO-codierte Zeichen >0x80 enthalten, weist aber den Browser des Besuchers an, diese Inhalte als UTF-8 zu interpretieren (PHP und der Webserver dazwischen kümmern sich in diesem Sinn nicht um diese Codierungsgeschichten). Und in UTF-8 sind die meisten Bytewerte, die in ISO z.B. Umlaute darstellen, eben ungültige Bytewerte.
So long,
Martin