Zitat:
Zitat von theresa
Ich muss viele Files anzeigen. Leider haben die meisten im Namen einen Umlaut, und das geht nicht.
|
Korrekt. Ua. auch Umlaute sind im Link (href, src uä.) nicht gestattet.
Zitat:
Zitat von selfHTML
Zeichen, die nicht in der Seite ASCII-Codetabelle vorkommen oder in URIs Bedeutung haben (z.B. der Schrägstrich, der Doppelpunkt oder das Prozentzeichen) müssen Sie innerhalb von URIs maskieren. Das geschieht durch Angabe eines Prozentzeichens % mit anschließendem Hexadezimalwert für das Zeichen. Im obigen Beispiel sehen Sie das z.B. bei M%FCnz, wobei FC die hexadezimale Angabe der Zahl 252 ist. Die Zahl 252 ist wiederum in der Codetabelle von Seite ISO 8859-1 die Nummer für den Buchstaben "ü".
|
http://www.faqs.org/rfcs/rfc3986.html
http://tools.ietf.org/html/rfc1630
Die Hinweise betreffen nicht nur den Namen sondern auch das Verzeichnis. Auf der sicheren Seite bist Du, wenn der Name ausschließlich nur aus a-zA-Z0-9 und . , - _ besteht.
Dein Freund heißt
http://us1.php.net/rawurlencode
Zitat:
rawurlencode — URL-encode according to RFC 3986
Description
string rawurlencode ( string $str )
Encodes the given string according to » RFC 3986.
Parameters
str
The URL to be encoded.
Return Values
Returns a string in which all non-alphanumeric characters except -_.~ have been replaced with a percent (%) sign followed by two hex digits. This is the encoding described in » RFC 3986 for protecting literal characters from being interpreted as special URL delimiters, and for protecting URLs from being mangled by transmission media with character conversions (like some email systems).
Note:
Prior to PHP 5.3.0, rawurlencode encoded tildes (~) as per » RFC 1738.
|
Einfach mal das Handbuch lesen schadet auch Dir nicht.
Und beachte auch das, was DokuLeseHemmung geschrieben hat:
Zitat:
Gerade Umlaute in Dateinamen sind problematisch.
Insbesondere, weil selbst bei einem Betriebssystem unterschiedliche Codierungen möglich sind.
Ein Minenfeld.
|
Es kann Dir nämlich auch passieren, daß PHP infolge unterschiedlicher Charsets vom Betriebssystem den Daumen gezeigt bekommt. Wie ein zB. ein ä kodiert ist, ist nicht allgemein- und plattformunabhängig gültig.
Konvertiere den Kram besser nach 7bit ASCII. Entweder gleich beim Upload oder in einer "Nacht- und Nebelaktion".