Samba et encodage de caract�res

gvdmoort at skynet.be gvdmoort at skynet.be
Jeu 27 Mar 13:53:00 CET 2008


Bonjour à tous,

J'avais un serveur Samba sur une Slackware (dieu ait son âme) à présent converti en Debian Etch. Lors de la transition, la configuration de samba, ainsi que la partition ext3 où résident les fichiers partagés, n'ont pas été modifiés:

Sur le serveur Debian, la locale est en fr_BE.
Le fichier /etc/samba/smb.conf comprend
Code:
[global]
        dos charset = 850
        unix charset = ISO8859-15

[share]
        comment = Repertoire partage en lecture-ecriture
        path = /SHARE/share
        force user = share
        force group = users
        create mask = 0775
        public = yes
        read only = No
        guest ok = Yes

Jusqu'ici, tout se passait bien avec les clients Win; il était possible de créer des fichiers comprenant des caractères accentués, qui sont lisibles correctement quand je me loggue sur le serveur. Inversément, un fichier créé à partir d'une session sur le serveur, et comprenant des accents, est bien interprété depuis les clients Win.

À présent, nous testons un poste de travail sous Xubuntu, et il faudrait évidemment que les choses se passent de la même manière pour les utilisateurs.

Malheureusement, le poste xubuntu est en fr_BE.UTF-8 par défaut.

Je fais un essai en incluant ceci dans /etc/fstab:

Code:
  //serveurf/share   /SERVEURF   smbfs   user,guest,auto      0       0

et ça ne vas pas, aussi bien dans un terminal que dans le gestionnaire de fichier graphique (en l'occurrence Thunar), les caractères accentués existants sont affichés comme des '?'.

Et si je crée un fichier depuis un terminal sur le poste Xubuntu:
Code:
  touch /SERVEURF/accents_ÁÀ.txt

je n'ai pas de messages d'avertissements, mais le nom du fichier créé s'avère tronqué au premier caractère accentué, donc j'obtiens ici 'accents_'

J'ai essayé d'ajouter dans le fstab du poste client l'option iocharset=ISO8859-15 ou iocharset=utf8, ça n'a rien changé.

Que me conseillerait-on ? Je suis pour l'instant assez paumé, là...

Je redoute de faire passer le serveur en UTF-8, parce que ça représente des milliers de fichiers comprenant des noms avec accents. D'un autre coté, je me dis que l'UTF-8, c'est l'avenir, ça permettrait de ne pas modifier la configuration par défaut des futurs postes Xubuntu.

Dans cette hypothèse, comment s'y prendre sur le serveur samba ?
dpkg-reconfigure locales ?

Quoi d'autre ? Et surtout qu'adviendra-t-il des fichiers avec des caractères accentués ?

Nous disposons aussi d'un backup quotidien des données sur un autre serveur (toujours slackware, en fr_BE); je me demandais si, une fois le serveur samba configuré correctement en UTF-8, il ne suffirait pas d'une restauration pour retrouver des noms de fichiers correctement encodés.

Merci d'avance,

G.






Plus d'informations sur la liste de diffusion Linux-bruxelles