Problème de codage UTF-8 avec smbfs

Voici de quel manière je monte les ressources partagé par Windows :

sudo smbmount //serveur/partage /home/pad/mnt/serveur-partage -o username=monlogin,domain=mondomaine,mask=000,uid=1000,gid=1000,iocharset=utf8

  • -o : Les options de montage sont indiquées par l’argument -o suivi d’une liste d’options séparées par des virgules. Certaines d’entre-elles ne sont utiles que lorsqu’elles apparaissent dans le fichier /etc/fstab Les options suivantes sont communes au montage de tous les systèmes de fichiers.
  • username : spécifie l’utilisateur.
  • domain : spécifie le domaine.
  • uid : Fixer le propriétaire des fichiers (défaut : uid=0).
  • gid : Fixer le groupe des fichiers (défaut : gid=0).
  • iocharset=utf8 : Jeu de caractère pour les conversion entre les caractères 8 bits et les caractères 16 bitS Unicode. Par défaut c’est iso8859-1. Les noms de fichiers longs sont stockés sur le disque en format Unicode.

Convertir des fichier ISO-8859-15 en UTF-8 avec iconv

Vous pouvez utiliser iconv :

iconv -f utf-8 -t iso-8859-15 nomfichier

Un script qui converti des fichier ISO-8859-15 en UTF-8 avec iconv

#!/bin/sh
usage() {
echo " usage : $0 rep ext "
echo "  "
echo " convertit en ISO-8859-15 tous les fichiers qui sont sensé "
echo " être en UTF-8 du répertoire avec l'extension  "
exit -1
}
[ $# != 2 ] && usage
[ ! -e $1 " ] && echo " Le fichier \ " "$1″\ " n'existe pas ! " && exit -1
rep= "$1″
ext= "$2″
find $rep -type f -iname \*.$ext |
while read i; do
  # Conversion du fichier $i
  echo -en " \r $i ...  "
  TMP=\`mktemp\`
  iconv -f utf-8 -t iso-8859-15 " $i " " $TMP "
  mv " $TMP " " $i "
  echo " OK "
done