jobo: Umlaute und Dateinamen

Beitrag lesen

Hallo dedlfix,

Merci!

Weil dir glob() und/oder das Betriebssystem einen ISO-8859-1- oder Windows-1252-kodierten Dateinamen geliefert hat.

iso-8859-1 bei einem apache webserver, vermute ich mal.

Weil ja, vermutlich, vielleicht dämmerts jetzt (?), der Server das "ä" als iso-8859-1 ausspuckt. Der Browser zeigt es falsch an und frägt deshalb auch nach der falschen Resource, nämlich nach "Qualit�t.mp3", welche es ja nicht gibt. Das kann ich testen, indem ich die Kodierung per Hand umstelle. Dann findet er auch die Ressource!

Exaktamente. Aber nicht der Browser findet, sondern der Webserver.

Bzw. eben nicht, wen der Browser die Ressource falsch bezeichnet (bzw. der PHP-Coder nicht mit (raw)urlencode probiert hat.

PHP weiß nichts von der Kodierung, die dein Texteditor verwendet hat. Es benötigt nur ASCII für seine Schlüsselwörter. Der Rest von x80..xFF wird nicht ausgewertet sondern als einzelne Bytes angesehen. mb_internal_encoding() und glob() kennen sich nicht. Du kannst nichts beeinflussen, nur das beste aus der ISO-8859-1-Situation machen. (raw)urlencode() schon probiert?

Ich dachte irgendwie, utf-8 wäre die Musik der Zukunft und auch PHPs und Webservers Basis. Ich hab garnix gegen iso-8859-1. Mein FF schafft es dann auch ohne urlencode, aber das sollte ich wohl doch lieber verwenden, damit auch andere Browser die richtige Url (in dem Fall ein mp3-File via EMFF-Player) erwischen, oder? Wie gut das es nur ein interne Seite (also für einen kleinen Userkreis von ein paar Leuten) gedacht ist.

Dank nochmal an alle, Gruß

jobo