Auge: Umlaute als "ü" welche Formatierung?

Beitrag lesen

Hallo

Ich arbeite standardmäßig auf UTF-8-Basis.

Tust du scheinbar nicht :) Du hast eine Bytefolge die offenbar UTF-8 ist, du gibst sie aber in irgend einer 8-Bit-ANSI-Codierung aus.

Alle Dateien sind im Format UTF-8 ohne BOM gespeichert

Das ist beim verkrüppelten Zeichen zu sehen. Allerdings gehört nicht nur das Speichern an sich zur Verarbeitung, sondern auch die vorhergehende Verarbeitung.

Wie du schreibst, hast du ein Uploadformular, das seine Daten per Ajax an den Server sendet. Ajax ist JavaScript und das verwendet UTF-8 als Standardkodierung. Soweit, so gut. Auf dem Server nimmt ein PHP-Skript die Daten entgegen, verarbeitet sie und sorgt für die Speicherung der Datei.

*Hier* solltest du prüfen, ob die Verarbeitung (speziell des Strings des Dateinamens) ebenfalls mit UTF-8 geschieht. Wenn auf deinem Server/Webspace die mb-Funktionen von PHP aktiviert sind, kannst du mit mb_internal_encoding die *bei der Verarbeitung des Skripts* benutze Kodierung lesen bzw. explizit angeben.

Achtung: Prüfe auf die Konstante 'MB_CASE_LOWER', um herauszufinden, ob die mb-Funktionen da sind (sie gehören nicht zur Standardinstallation). Ist sie nicht angelegt, sind die mb-Funktionen nicht in der PHP-Installation enthalten.

Tschö, Auge

--
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
Veranstaltungsdatenbank Vdb 0.3