Nach weiterer Überlegung:
Wenn die Umlaute, etc. unverändert bleiben sollen, brauchst du doch nur die vom alten Server heruntergeladenen Dateien per FTP (ohne ssh) auf den neuen Server hochladen. Wie auch bereits unter dem Link dort beschrieben.
Es sei denn, das Backup enthielte bereits veränderte Zeichen.
Oder klappt das Hochladen ohne ssh auch nicht?
Werden in den Dateinamen die Umlaute und das ß alle nur als ???? angezeigt oder hat jeder Umlaut eine eigene „Signatur“? Im letzten Fall könntest Du die betroffenen Umlaute jeweils in einem Durchgang umbenennen (siehe z.b.hier: http://tips.webdesign10.com/how-to-bulk-rename-files-in-linux-in-the-terminal)
Die Umlaute werden tatsächlich beim Terminalzugriff via ssh nur als ???? angezeigt. Ich habe auch versucht, die Dateien herunterzuladen, umzubenennen (mit der App Better Rename 9) und dann wieder hochzuladen. Anschließend werden sie wieder mit ???? statt den gewünschten Umlauten angezeigt.
Wenn die Bildernamen beim Hochladen (ich nehme an per FTP) wieder verunstaltet sind, könnte es auch an den FTP-Einstellungen liegen. Schau mal, ob da ISO-8859-1 oder UFT-8 verwendet wird – und benutz einmal das Andere. Denn typischerweise deuten Umlaute, die als Fragezeichen dargestellt werden, darauf hin, dass ein als ISO 8859-1 kodiertes Dokument als UTF-8 interpretiert wird.
Oder einmal „quick & dirty“ gedacht: Pack die umbenannten Dateien auf Deinem PC in ein ZIP-Archiv, lad das Archiv hoch und entpacke es auf dem Server. Könnte klappen, muß aber nicht.
Andere Idee: Hast Du auf dem alten Server, von dem Du umgezogen bist, auch SSH-Zugriff? Dann kopiere die Dateien doch direkt von dort per scp auf den neuen Server, das umgeht mögliche Umkodierungsprobleme, die bei der FTP-Kette Linux-Server -> Windows-PC -> Linux-Server auftauchen können.
Wenn alles nicht klappt, melde dich noch mal.
@bego:
Schon die Lösung für das Problem gefunden?
1.) Wenn du die Dateien per FTP hochlädst (ohne SSH), werden die Dateinamen dann mit Umlauten korrekt übertragen?
2.) Ein Terminalzugriff per SSH ist ja nicht mehr nötig (wenn die Dateinamen korrekt übertragen wurden).
Hallo Angelika,
im Moment komme ich nicht dazu. 🙂
Ich melde mich aber wieder.
Könntest du vielleicht die Frage 1 beantworten (wenn es deine Zeit zulässt), das wäre sehr nett. Die schwebt jetzt schon über mehrere Posts hinweg 😀 und macht mich schon ganz hibbelig :p
So, ich hab mich vorhin nochmal per ssh aufgeschaltet und hatte wie beschrieben a) eine Anzeige von Umlauten als ???? und b) ein sehr kurioses Verhalten bei der Eingabe von Umlauten. Das habe ich jetzt aber prima in den Griff bekommen: Die Locale des Webservers war auf POSIX eingestellt (warum tun Webhoster sowas?!), während mein Terminal-Programm gerne UTF-8 reden wollte.
Durch zwei Einträge für Sprache und Locale konnte ich den Webserver zumindest schon mal überreden, gescheit mit mir zu kommunizieren. 😉
#.bashrc
export LC_CTYPE="de_DE.UTF-8"
export LANG="de_DE.UTF-8"
Nachdem diese Hürde geschafft war, wurden mir auch die Dateinamen so wie vom FTP-Client angezeigt: Während in der Datenbank die Dateinamen korrekt mit Umlauten (z.B. Borussia-Mönchengladbach.jpg) hinterlegt waren, wurden die Dateienamen im FTP-Client (und nach dem o.g. Kunstgriff dann auch im Terminal) mit „merkwürdigen Sonderzeichen“ wie z.B. Borussia-Mönchengladbach.jpg ausgegeben.
Hierzu habe ich mir dann ein PHP-Skript geschrieben, dass die Dateien umbenennt:
<?php
foreach (glob("*.jpg") as $filename) {
$file = realpath($filename);
rename($file, str_replace("ö","ö",$file));
}
(und das dann wiederholt für alle Sonderzeichen, die ich entdecken konnte).
Nachdem die Dateinamen korrigiert waren, werden sie nun auch im Frontend gefunden und verursachen keine 404 mehr. Tadaa!
Das ist zugegeben alles sehr handgestrickt und Leuten, die sich mit Zeichenkonvertierung besser auskennen zieht’s wahrscheinlich die Socken aus … aber manchmal geht’s nicht anders, da muss man auch mal Rumstümpern. 🙂
Aus deinen Antworten geht hervor, dass du versucht hattest, per FTP-Client (ohne SSH) die Dateinamen zu ändern.
Nirgendwo ist zu lesen, ob du den Versuch unternommen hattest, die Dateien per FTP-Client erneut hochzuladen und die vorhandenen Dateien zu überschreiben. Leider bleibt somit die Frage offen, ob dieser Weg das Problem gelöst hätte.
¯\_(ツ)_/¯