PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wie bring ich samba dazu Umlaute korrekt zu übersetzen?!



jaspo
17.08.02, 17:05
Ich lasse Samba unter debian laufen - alles ohne Probleme: Dateizugriff, Drucken.. - geht alles wie ne eins.
ABER: wie schafft man es, ihm beizubringen, dass er die Umlaute korrekt unter Linux darstellt?
hier sind meine einstellungen:

- die locales von linux selbst siond auf deutsch (ISO-8859-15) eingestellt

SAMBA:
- client code page = 850
- character set = ISO-8859-15
- der rest sind mehr oder weniger die standard einstellungen - also nichts exotisches..


PS: normaler weise stört mich das auch nicht, aber ich will da mit scripten drauf zugreifen - und das klappt halt nicht aus diesem grund.


ciao
Christian

Elektronator
17.08.02, 17:37
character set = ISO8859-1
client code page = 850

wenn du schon Dateien mit Windows unter der alten Codepage erzeugt hast, musst du diese aber recoden.

Dafür haben wir mal folgendes script gebastelt (musst aber ggf. die codepage anpassen):

#!/bin/sh

if [ -z "$1" ] || [ ! -d "$1" ]; then
echo "Usage: chcpage <dir>"
exit 0
fi

function changenames
{
cd "$1"

for i in *; do
[ -d "$i" ] && changenames "$i"
mv "$i" "$(echo $i | recode -f ibmpc..latin1)"
done

cd ..
}

changenames "$1"

exit 0

jaspo
18.08.02, 16:17
danke für dein tipp - hatte aber noch keine zeit es auszuprobieren. Aber irgendwie versteh ich auch nich das problem was da vorliegt. In einem manual zu samba hab z.B. folgendes gefunden:


8.3.2 character set

The global character set option can be used to convert filenames offered through a DOS code page (see the previous section, Section 8.3.1, client code page) to equivalents that can be represented by Unix character sets other than those in the United States. For example, if you want to convert the Western European MS-DOS character set on the client to a Western European Unix character set on the server, you can use the following in your configuration file:

[global]
client code page = 850
character set = ISO8859-1


also wo is das problem??


ciao
Christian

Elektronator
18.08.02, 17:12
Das Problem ist, dass WIN und LIN verschiedene Codepages benutzen. Deshalb musst du für deutsche WIN-Clients, die auf einen deutschen Samba zugreifen, die Codepage übersetzen. Das machst du mit den beiden Einträgen.

Du hast aber ISO8859-15 benutzt, das gibt Umlauf-Probleme.

Wenn du nur mit WIN auf die Samba-Freigabe zugreifst, bemerkst du das Problem gar nicht. Erst wenn du auch unter Linux draufschaust, hast du ein Umlaut-Problem. Ich hatte das auch über ein Jahr so laufen, bis ichs gemerkt habe. Deshalb waren auch schon eine ganze Menge (ca. 1500) Dateinamen mit Umlauten drauf, die unter LIN ziemlich schei.. aussahen und deshalb habe ich das script erstellt, um nicht alle von Hand ändern zu müssen. Denn wenn du umstellst, hast du unter WIN die falschen Umlaute. Damit das weggeht, musst du die Codepage der Dateien selbst ändern.

Wenn alles stimmt, muss ein Dateiname mit Sonderzeichen wie z.B. äöüß etc. unter WIN und LIN gleich aussehen.

ThyMaster
22.08.03, 09:18
Hat übriegens jemand schon eine Lösung für die Migration auf Samba 3???

Bei mir kriege ich die o.a. Kombination ums Verrecken nicht mehr in der Form zum Laufen :(

Gruß
Falko