Moin!
Ich wundere mich grundsätzlich, wie man mit Ajax Dateien hochladen will.
Diese Frage hätte man natürlich stellen können - warum wir das bisher unterlassen haben, ist mir ein Rätsel.
Habe mir ein Script dafür runtergeladen:
Das macht aber kein echtes Ajax. Wie auf der Seite auch steht:
* AJAX Upload ( http://valums.com/ajax-upload/ )
"How it works?
Plugin creates invisible file input on top of the button you provide, so when user clicks on your button the normal file selection window is shown. And after user selects a file, plugin submits form that contains file input to an iframe. So it isn’t true ajax upload, but brings same user experience."
Habe daran eigentlich kaum was geändert. Halt alle Dateien in UTF-8 ohne BOM konvertiert..
Dateien mit Umlauten werden aber mit kryptischen Symbolen auf meinem Server abgelegt. Die Ausgabe für den User (welche Dateien er hochgeladen hat) zeigt die Umlaute aber ganz normal an. Muss also imho an der augerufenen php liegen, die die Datei in den uploads-Ordner schiebt (beim ersten post hab ich dir gequotet).
Nein, das ist eine Sache des Dateisystems des Webservers. Das Dateisystem muss nicht zwingend UTF-8 als Dateinamen verstehen. Aber solange es nur Bytes akzeptiert und wieder zurückgibt, ohne sie zu verändern, kannst du webseitig ohne Probleme die Umlaute in den Namen drinhaben.
Andererseits sind Umlaute in Dateinamen immer wieder eine Quelle von Ärgernis und sollten deshalb vermieden werden - und wenn der User zu blöd ist, die Dateien korrekt zu benennen, wäre das die Aufgabe deines Skripts.
- Sven Rautenberg