Problem mit Umlauten

bled

Erfahrenes Mitglied
Hallo Leute,
ich habe im Moment Probleme mit Umlauten in PHP, speziell in Verzeichnis- und Dateinamen.
Ich habe ein kleines Upload-Script programmiert, das einen Ordner für jeden User mit dem Namen des Users anlegt, in den der jeweilige User seine Dateien hochladen kann.
Wenn der User jetzt aber Umlaute in seinem Namen oder in der Datei, die er hochladen will, stehen hat, gibt es Probleme.
Die Verzeichnisse und Dateien haben genau die richtigen Namen, doch wenn man jetzt versucht auf die Dateien zuzugreifen, gibt es Probleme.
Ich schätze mal, dass das daran liegt, dass auf dem Server irgendwie nicht der richtige Zeichensatz installiert ist, oder so...
Wie könnte ich das umgehen?

P.S.: Ich habe jetzt nicht vor jeden Dateinamen und jeden Usernamen zu überprüfen und die Umlaute zu ersetzen, es wäre auch ganz gut, wenn alle anderen Sonderzeichen irgendwie funktionieren würden. Ich bin mir sicher, dass es da eine elegenate Lösung gibt.
Danke schonmal :)
 
Zuletzt bearbeitet:
Hossa,

nein eine elegante Lösung gibt es dazu nicht - dein Webserver läuft sicher auf einem Linux System und da kannst du suchen solange du möchtest, Dateien und Ordnernamen können halt keine Sonderzeichen enthalten!

Dir wird also nicht viel anderes übrig bleiben, als solche Zeichen zu filtern - bei Usern könnte man zB die eindeutige userID für einen Ordner verwenden.
 
ich bin mir nicht sicher ob es was hilft ich denke mal es hilft überhaupt nichts aber du könntest es ja mal so versuchen in utf-8 zu konvertieren lassen

http://at.php.net/manual-lookup.php?pattern=utf&lang=de

im link sind alle sachen mit utf-8 drinnen.


Wie gesagt ich kenn mich nicht so gut aus mit php und denke nicht das es funktioniert aber du kannst ja mal versuchen.
 
Hallo!

Ich denke auch, dass es mit Umlauten in Datei-/Verzeichnisnamen grundsätzlich Probleme geben wird!
Ich würde es so machen, wie StormYus vorgeschlagen hat und als Verzeichnisname eine UserID verwenden oder einen Umlaut- und Sonderzeichen freien Nickname.

Ansonsten, wie greifst Du denn auf die Verzeichnisse und Dateien zu? Mit einem Script? Und hast Du da einen Zeichensatz definiert und wenn ja welchen?

Ach ja und würdet Ihr Euch bitte an die Netiquette halten? Sätze die durchgegehend klein und ohne Punkt und Komma geschrieben sind, sind erstens nicht wirklich gut zu lesen und zweitens auf tutorials.de nicht erwünscht!

redlama
 
Ok, danke für die Antworten.
Ich hab das jetzt wirklich so gelöst, dass die Verzeichnisse mit den User-IDs (als Namen) angelegt werden und das Hochladen von Dateien mit Umlauten im Namen ist dann eben einfach verboten...
 
Musst es nicht gerade verbieten. Kannst es ja durch das ASCII Zeichen ersetzen und später bei der Anzeige wieder encoden...

MFG
redX
 
Stimmt, das hört sich wirklich gut an.
Aber nach ein bischen überlegen hab ich's doch gelassen. Denn wenn jetzt jemand mit einem Dateinamen ankommt, der Zahlen beinhaltet, gibt es nur ein sinnloses WirrWarr...
Außerdem müsste ich zuerst die Sonderzeichen raussuchen und dann auch schauen, dass die dann nicht neben Zahlen stehen(wegen dem zurück-Konvertieren) usw usf...
 
Zurück