OS: Linux/Windows
Dateinamne auf Linux Festplatten enthalten Umlaute (äöü). Wenn Ordner mit solchen Dateien unter Windows gemountet werden, sind anstatt der Umlaute komische Zeichen zu sehen
Ursache: Die Umlaute unter Linux werden entsprechend der locale abgespeichert. Samba muss die Dateinamen aber in der locale des Empfängers exportieren. Samba muss wissen, in welcher locale die Dateinamen vorliegen um sie entsprechend konvertieren zu können.
Lösung:
Eintrag in smb.conf
unix charset = UTF-8 (das ist standard) ändern in unix charset = ISO8859-1
in alten Samba Versionen (< 3) hiess die Option
character set = ISO8859-1
Dateien unter Windows mit Umlauten werden unter Linux gemountet. Die Umlaute werden unter Linux komisch dargestellt.
Ursache:
gleich wie oben. Der Sambaclient nimmt an, die Daten liegen im selben Format vor wie die locale auf dem eigenen System was im Fall Windows nie stimmt.
Lösung 1:
Share „richtig“ mounten smbmount server/share /mnt/point -ousername=user, codepage=cp850 Bemerkung: das funktioniert nur mit Sonderzeichen, die auch in cp850 vorkommen. Alternativ kann auch codepage=utf8 gewählt werden. (scheint aber nicht den effekt zu erzielen…) siehe /lib/modules/<kernel-version>/kernel/fs/nls für eine Liste aller verfügbaren codepages. Noch besser ist allerdings die Verwendung der Windows-eigenen Codepage cp1250. Darin sind neben äöü auch andere Sonderzeichen vorhanden. Lösung 2: Beim Kernel selber backen die Standard Codepage auf cp850 bzw cp1250 einstellen.