Auge: Umlaute und Dateinamen

Beitrag lesen

Hallo

"Qualität hat ihren Preis.mp3", bei utf-Kodierung natürlich dann: Qualit�t

Ahem, die Datei wird über HTTP angeboten. Das bedeutet, dass Dateinamen nur lateinische Buchstaben, Ziffern, _, - und . enthalten dürfen *oder*, wenn dann doch andere Zeichen, z.B. Umlaute oder Leerzeichen, verwandt werden, diese maskiert werden müssen. Das macht, z.B. in PHP, rawurlencode.

Damit ist aber dein Kodierungsproblem noch nicht gelöst.

Wäre dann <param name="FlashVars" value="src=<?=utf8_encode($mp3File)?>"> richtiger, also den per glob() ausgelesenen Wert erst noch utf8-encodieren?

Müsstest du dann nicht die Ausgangskodierung kennen?

Ich dachte, PHP kodiert standartmäßig utf8, oder richtet es sich dabei nach der (vermeintliche, ausgelesenen) Kodierung des Dokuments? Müsste ich dann header setzen? Oder woran sieht PHP, welche Kodierung das Script selbst hat bzw. die Datei "sonstewasEMFF.php".

Also: PHP arbeitet nicht standardmäßig mit UTF-8. Um das zu erreichen, muss das Skript im Editor mit der Kodierung UTF-8 erstellt werden, Der Server muss es mit UTF-8 ausliefern (das kann man im Zweifelsfall mit einem per PHP gesetzten Header erreichen) und es muss die Strings mit UTF-8 verarbeiten. Letzteres hat erstmal *nichts* mit der Kodierung des auszuliefernden Dokuments zu tun.

Da wir das Thema schon vor einigen Tagen hatten, lies bitte mein dortiges Posting *und* Sven Rautenbergs Korrektur meiner Ausführungen wegen der Prüfung, ob die Erweiterung überhaupt vorhanden ist.

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