search
top

Problème de codage UTF-8 avec smbfs

Voici de quel maniere 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 petit 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

top