Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

smbmount et accents

3 réponses
Avatar
fx
Bonjour,

j'essaie depuis deux jours de mounter un partage windows et commence un peu
a desesperer. Tous les fichiers et les répertoires comportant des caractères
accentués sont mal affichés dans un terminal.

Apres lecture de nombreuses pages j'ai essaye les choses suivantes :

- passer des options à mount :
mount -t smbfs -o
username=login,password=pass,iocharset=iso8859-1,codepage=cp850
//192.168.0.10/test /tmp/smb
(j'ai essaye avec iso8859-15, cp437)
(en faisant un lsmod je vois bien les modules correspondant chargés)

- ajouter des directives de configuration dans smb.conf
dos charset = 850
unix charset = ISO8859-1

- jouer sur les globales LANG, SUPPORTED et leur passer les valeurs
suivantes : fr_FR.UTF-8, fr_FR.utf8@euro etc.

Une choses neanmoins m'etonne : qd j'ouvre un konqueror sur ce repertoire,
les noms des fichiers apparaissent normalement, ceci tendrait donc a prouver
que les infos sont la et qu'elles ne sont mal affichees que dans un
terminal.

Un répertoire s'appelant tététà s'affiche comme t?t?t? dans un terminal. En
affichant les codes de chaque caractère j'obtiens ceci :
t[116]
?[233]
t[116]
?[233]
t[116]
?[224]


infos systeme :
- Redhat Advanced Server 3
- samba 3.0.2

Je suis pret a faire tous les tests possibles ...

merci d'avance !!!!


--
fx

3 réponses

Avatar
TiChou
Dans le message <news:c6l42v$17vk$,
*fx* tapota sur f.c.o.l.configuration :

Bonjour,


Bonjour,

j'essaie depuis deux jours de mounter un partage windows et commence un
peu a desesperer. Tous les fichiers et les répertoires comportant des
caractères accentués sont mal affichés dans un terminal.


Mal affiché par quelles commandes ? Ces commandes sont-elles bien
congigurées pour afficher correctement ces caractères ?

Apres lecture de nombreuses pages j'ai essaye les choses suivantes :

- passer des options à mount :
mount -t smbfs -o
username=login,password=pass,iocharset=iso8859-1,codepage=cp850
//192.168.0.10/test /tmp/smb
(j'ai essaye avec iso8859-15, cp437)
(en faisant un lsmod je vois bien les modules correspondant chargés)


Options OK. Préférez tout de même le charset iso8859-15 qui est le charset à
utiliser pour les francophones.

- ajouter des directives de configuration dans smb.conf
dos charset = 850
unix charset = ISO8859-1


On peut aussi simplement utiliser l'option 'character set = ISO8859-15'.

- jouer sur les globales LANG, SUPPORTED et leur passer les valeurs
suivantes : fr_FR.UTF-8, etc.


Ça manque de cohérence avec ce qui précède. On ne peut pas utiliser d'un
coté un charset et de l'autre un autre charset. Il serait quand même mieux
d'utiliser ceci :

LANG=""
SUPPORTED=":fr_FR:fr:en_US:en"

Une choses neanmoins m'etonne : qd j'ouvre un konqueror sur ce repertoire,
les noms des fichiers apparaissent normalement, ceci tendrait donc a
prouver que les infos sont la et qu'elles ne sont mal affichees que dans
un terminal.


Et que donc, avant de se pencher sur un éventuel problème d'encodage de
caractère entre Windows et Linux, s'assurer que les commandes et les
programmes qu'on utilise, savent afficher correctement les caractères «
spéciaux ».

Un répertoire s'appelant tététà s'affiche comme t?t?t? dans un terminal.


Affiché par quelle commande ? ls ?

En affichant les codes de chaque caractère j'obtiens ceci :


En les affichant par quelle méthode ?

t[116]
?[233]
t[116]
?[233]
t[116]
?[224]


Et avec la commande 'ls --show-control-chars' cela donne quoi ?

infos systeme :
- Redhat Advanced Server 3
- samba 3.0.2

Je suis pret a faire tous les tests possibles ...


Un moyen simple de vérifier que les caractères des fichiers sont bien
encodés c'est d'utiliser la commande 'echo *' dans le répertoire.
Ensuite, utiliser les bonnes options

merci d'avance !!!!


De rien.

--
TiChou

Avatar
fx
* tapota sur f.c.o.l.configuration :

Bonjour,


Bonjour,

j'essaie depuis deux jours de mounter un partage windows et commence un
peu a desesperer. Tous les fichiers et les répertoires comportant des
caractères accentués sont mal affichés dans un terminal.


Mal affiché par quelles commandes ? Ces commandes sont-elles bien
congigurées pour afficher correctement ces caractères ?


avec un ls par exemple
(dans mon cas le but de tous cela est )


Apres lecture de nombreuses pages j'ai essaye les choses suivantes :

- passer des options à mount :
mount -t smbfs -o
username=login,password=pass,iocharset=iso8859-1,codepage=cp850
//192.168.0.10/test /tmp/smb
(j'ai essaye avec iso8859-15, cp437)
(en faisant un lsmod je vois bien les modules correspondant chargés)


Options OK. Préférez tout de même le charset iso8859-15 qui est le charset
à

utiliser pour les francophones.

- ajouter des directives de configuration dans smb.conf
dos charset = 850
unix charset = ISO8859-1


On peut aussi simplement utiliser l'option 'character set = ISO8859-15'.

- jouer sur les globales LANG, SUPPORTED et leur passer les valeurs
suivantes : fr_FR.UTF-8, etc.


Ça manque de cohérence avec ce qui précède. On ne peut pas utiliser d'un
coté un charset et de l'autre un autre charset. Il serait quand même mieux
d'utiliser ceci :
LANG=""
SUPPORTED=":fr_FR:fr:en_US:en"


le probleme c que je ne trouve pas un fr_FR.iso8859-15
dans /usr/lib/locale je n'ai que fr_FR, fr_FR.utf8, fr_FR.euro,


Une choses neanmoins m'etonne : qd j'ouvre un konqueror sur ce
repertoire,


les noms des fichiers apparaissent normalement, ceci tendrait donc a
prouver que les infos sont la et qu'elles ne sont mal affichees que dans
un terminal.


Et que donc, avant de se pencher sur un éventuel problème d'encodage de
caractère entre Windows et Linux, s'assurer que les commandes et les
programmes qu'on utilise, savent afficher correctement les caractères «
spéciaux ».


en faisant un test avec un knoppix je viens de m'apercevoir que cela marche
bien ... ce qui est d'ailleurs logique d'ailleurs (il suffit de passer le
parametre codepage=cp850 à mount pour cela passe bien)

Un répertoire s'appelant tététà s'affiche comme t?t?t? dans un terminal.


Affiché par quelle commande ? ls ?


oui

En affichant les codes de chaque caractère j'obtiens ceci :


En les affichant par quelle méthode ?


un petit script PHP qui affiche le code decimal de tous les caractères
on s'apercoit donc q c encode en ISO8859-1 ...


t[116]
?[233]
t[116]
?[233]
t[116]
?[224]


Et avec la commande 'ls --show-control-chars' cela donne quoi ?


't t t '

infos systeme :
- Redhat Advanced Server 3
- samba 3.0.2

Je suis pret a faire tous les tests possibles ...


Un moyen simple de vérifier que les caractères des fichiers sont bien
encodés c'est d'utiliser la commande 'echo *' dans le répertoire.
Ensuite, utiliser les bonnes options


avec echo * j'ai la meme chose
't t t '


merci d'avance !!!!


De rien.

--
TiChou




Avatar
TiChou
Dans le message <news:c6lk2g$1gri$,
*fx* tapota sur f.c.o.l.configuration :

- jouer sur les globales LANG, SUPPORTED et leur passer les valeurs
suivantes : fr_FR.UTF-8, etc.


Ça manque de cohérence avec ce qui précède. On ne peut pas utiliser d'un
coté un charset et de l'autre un autre charset. Il serait quand même
mieux d'utiliser ceci
: LANG="" SUPPORTED=":fr_FR:fr:en_US:en"


le probleme c que je ne trouve pas un fr_FR.iso8859-15
dans /usr/lib/locale je n'ai que fr_FR, fr_FR.utf8, fr_FR.euro,



correspond au charset iso8859-15.

[...]

en faisant un test avec un knoppix je viens de m'apercevoir que cela
marche bien ... ce qui est d'ailleurs logique d'ailleurs (il suffit de
passer le parametre codepage=cp850 à mount pour cela passe bien)


[...]

En affichant les codes de chaque caractère j'obtiens ceci :


En les affichant par quelle méthode ?


un petit script PHP qui affiche le code decimal de tous les caractères
on s'apercoit donc q c encode en ISO8859-1 ...

t[116]
?[233]
t[116]
?[233]
t[116]
?[224]




Tout ceci confirme que l'encodage des noms de fichiers est correct.

Et avec la commande 'ls --show-control-chars' cela donne quoi ?


't t t '

Un moyen simple de vérifier que les caractères des fichiers sont bien
encodés c'est d'utiliser la commande 'echo *' dans le répertoire.


avec echo * j'ai la meme chose
't t t '


Alors il semblerait que la police utilisée dans votre terminal ne sait pas
afficher les caractères accentués. Quelle police utilisez vous ?
Dans votre terminal, quand vous saisissez au clavier un caractère accentué,
celui s'affiche-t-il correctement ?

--
TiChou