# [Samba] UTF-8 für Windows und Linux

## Finswimmer

Hi,

ich habe mir hier ein Raid-Sytem gebaut, auf dem alle Backups und gemeinsame Daten liegen.

Nun kämpfe ich mit den Umlauten:

```
locale

LANG=en_GB.UTF-8

LC_CTYPE="en_GB.UTF-8"

LC_NUMERIC="en_GB.UTF-8"

LC_TIME="en_GB.UTF-8"

LC_COLLATE="en_GB.UTF-8"

LC_MONETARY="en_GB.UTF-8"

LC_MESSAGES="en_GB.UTF-8"

LC_PAPER="en_GB.UTF-8"

LC_NAME="en_GB.UTF-8"

LC_ADDRESS="en_GB.UTF-8"

LC_TELEPHONE="en_GB.UTF-8"

LC_MEASUREMENT="en_GB.UTF-8"

LC_IDENTIFICATION="en_GB.UTF-8"

LC_ALL=

```

```
-rw-r--r--  1 root      0 2010-06-10 21:53 11?????

-rw-r--r--  1 nobody    0 2010-06-10 21:55 12??

-rw-r--r--  1 nobody    0 2010-06-10 21:55 123
```

Auf dem Linux-Client sieht es genauso aus.

Es ist egal, von wo ich die Datei anlege.

```
dos charset = 1255

unix charset = UTF-8

display charset = UTF-8

```

steht in smb.conf

dmesg auf dem Linux-Client:

```
[99507.167125]  CIFS VFS: strtoUCS: char2uni of -10 returned -22

[99507.167131]  CIFS VFS: strtoUCS: char2uni of -10 returned -22

[99507.167136]  CIFS VFS: strtoUCS: char2uni of -10 returned -22

[99507.167140]  CIFS VFS: strtoUCS: char2uni of -10 returned -22

```

Der UTF-8 Gentoo Leitfaden ist auch schon befolgt..

Von Windows aus angelegte Dateien werden unter Windows richtig angezeigt.

Unter Linux aber nicht.

Unter Linux erzeugte Dateien werden unter Windows falsch angezeigt.

Was kann ich tun, um den Fehler einzugrenzen?

Danke

Tobi

----------

## Finswimmer

*bump*

----------

## Jimini

Ich habe momentan leider kein Windows-System zum testen hier, meine aber, dass es bei mir mit Umlauten keine Probleme gab:

```
[public]

        path = /home/share/public

        browseable = yes

        writeable = no

        public = yes

        create mode = 0755

        guest ok = yes
```

Ich habe nirgendwo in der smb.conf irgendwas bzgl. charsets eingestellt. Als locale habe ich de_DE.utf8 eingestellt. Ich erinnere mich allerdings nur noch daran, dass unter Linux erzeugte / formatierte Dateinamen korrekt angezeigt wurden, wie es mit Dateien aussieht, die unter Windows erstellt / geschrieben wurden, kann ich zur Zeit leider nicht sagen.

Mit welchem charset werden die Dateinamen, die mit Windows geschrieben werden, denn erstellt? Das müsstest du mit convmv herausfinden können.

MfG Jimini

----------

## Jimini

Ich habe testweise mal schnell ne VM aufgesetzt:

- WindowsXP Professional (ungepatcht)

- Samba 3.4.6 aufm Fileserver

- smb.conf:

```
[global]

        log file = /var/log/samba/log.%m

        hosts allow = 10.0.0.0/24

        hosts deny = 0.0.0.0/24

        map to guest = bad user

        guest account = sharing

        passdb backend = smbpasswd

        server string = Samba Server %v

        path = /home/share

        comment = public files on Atlas

        security = share

[share]

        path = /home/share/upload

        browseable = yes

        writeable = yes

        public = yes

        create mode = 0777

        guest ok = yes

```

- locale: 

```
LANG=de_DE.utf8

LC_CTYPE="de_DE.utf8"

LC_NUMERIC="de_DE.utf8"

LC_TIME="de_DE.utf8"

LC_COLLATE="de_DE.utf8"

LC_MONETARY="de_DE.utf8"

LC_MESSAGES="de_DE.utf8"

LC_PAPER="de_DE.utf8"

LC_NAME="de_DE.utf8"

LC_ADDRESS="de_DE.utf8"

LC_TELEPHONE="de_DE.utf8"

LC_MEASUREMENT="de_DE.utf8"

LC_IDENTIFICATION="de_DE.utf8"

LC_ALL=
```

Ich habe unter WindowsXP eine Datei namens "äöü" angelegt, der Name wird sowohl unter Windows als auch unter Linux korrekt angezeigt. Unter Linux angelegte Dateien mit Umlauten und Sonderzeichen werden ebenfalls einwandfrei dargestellt.

MfG Jimini

----------

## michael_w

Hi Tobi,

Du bist nicht allein mit dem Problem, meine locale sieht genauso aus wie Deine und ich hab ebenfalls das Umlaute Problem mit Windows auf dem Samba-Share. Btw., Win7?

----------

## bbgermany

Hi Tobi,

ich bin mir nicht ganz sicher inwieweit die Unterstützung von deutschen Umlauten in en_GB.utf8 eingeflossen ist. Ich habe als locale überall de_DE.utf8 eingestellt und bei mir habe ich diese Probleme nicht. Wenn ich jedoch folgendes mache, dann hab ich die gleichen Probleme wie du:

```
 LC_ALL="en_GB.UTF-8" ls -la

-rwxr--r--  1 walther users       0 Jun 14 14:58 ??????123.txt

zeus walther #

```

Scheint also ein Problem in der UTF8 Unterstützung von en_GB zu sein  :Sad: 

MfG. Stefan

----------

## Finswimmer

smb.conf:

```
# Global parameters

[global]

workgroup = ARBEITSGRUPPE

#map to guest = Bad User

time server = Yes

unix charset = UTF-8

display charset = UTF-8

interfaces = lo eth0

#bind interfaces only = yes

[Backup]

path = /mnt/raid/backup

guest ok = Yes

read only = no

[Fotos]

path = /mnt/raid/fotos

read only = no

force directory mode = 0777

force create mode = 0777

browseable = yes

force group = users

force user = fotos
```

fotos -fstype=cifs,user,exec,auto,username="fotos",password="fotos",rw  ://192.168.1.2/fotos

So passt es.

Sowohl von Windows als auch Linux.

Tobi

----------

