OVH Cloud OVH Cloud

UTF-8 !!!

15 réponses
Avatar
C. Mourad Jaber
Bonjour,

Je viens d'installer une machine debian avec l'installeur ETCH RC1.

Tout s'est correctement passé, mais quand je me connecte en ssh à cette
machine, les accents sont affichés de manière étrange...

Je soupçonne que ce soit la différence entre mon ancienne installation
qui doit être en iso8859-1(5) et la nouvelle machine qui doit être en
full UTF-8...

Comment faire pour que tout le monde cohabite ?

Y'a-t-il un moyen de tout passer en UTF-8 ou de faire en sorte que les
caractères soient convertis automatiquement ?

Merci

Mourad


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

10 réponses

1 2
Avatar
Rémi DELEPOULLE
Le problème doit venir du fait que l'émulateur de terminal doit être en
iso...15

Tu peut par exemple utilier uxterm qui est lui en UFT8

il existe de plus un scrip pour corriger les noms si tu as des problème
sur ton système de fichier ( c'est si t'as fait une mise à jour


Rémi


C. Mourad Jaber a écrit :
Bonjour,

Je viens d'installer une machine debian avec l'installeur ETCH RC1.

Tout s'est correctement passé, mais quand je me connecte en ssh à
cette machine, les accents sont affichés de manière étrange...

Je soupçonne que ce soit la différence entre mon ancienne installation
qui doit être en iso8859-1(5) et la nouvelle machine qui doit être en
full UTF-8...

Comment faire pour que tout le monde cohabite ?

Y'a-t-il un moyen de tout passer en UTF-8 ou de faire en sorte que les
caractères soient convertis automatiquement ?

Merci

Mourad






--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Vincent Lefevre
On 2006-12-02 12:00:07 +0100, C. Mourad Jaber wrote:
Tout s'est correctement passé, mais quand je me connecte en ssh à cette
machine, les accents sont affichés de manière étrange...



Je soupçonne que ce soit la différence entre mon ancienne installation
qui doit être en iso8859-1(5) et la nouvelle machine qui doit être en
full UTF-8...



Ce sont probablement tes variables d'environnement LC_* et LANG qui
sont incorrectes dans le shell distant. Je suppose que tu te connectes
à partir d'une machine en ISO-8859-1(15).

Comment faire pour que tout le monde cohabite ?



Demander à SSH de faire passer ces variables d'environnement au shell
distant. Il faut modifier la config du serveur SSH /etc/ssh/sshd_config
pour que ce fichier contienne:

AcceptEnv LANG LC_*

N'oublie pas de relancer le serveur avec un "/etc/init.d/ssh restart".
Et dans ton .ssh/config, il faut que tu mettes:

SendEnv LANG LC_*

Note: ça ne fonctionne pas avec les anciennes versions d'OpenSSH. Si
c'est ton cas, alors tu as 2 possibilités:

1. Tu te débrouilles pour utiliser un terminal UTF-8 sur la machine
locale.

2. Dans le shell distant, tu fixes les variables d'environnement à la
main.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
C. Mourad Jaber
On 02.12.2006 13:06, Vincent Lefevre wrote:
On 2006-12-02 12:00:07 +0100, C. Mourad Jaber wrote:

Je soupçonne que ce soit la différence entre mon ancienne installation
qui doit être en iso8859-1(5) et la nouvelle machine qui doit être en
full UTF-8...




Ce sont probablement tes variables d'environnement LC_* et LANG qui
sont incorrectes dans le shell distant. Je suppose que tu te connectes
à partir d'une machine en ISO-8859-1(15).




Tout à fait...
Comment faire pour que tout le monde cohabite ?




Demander à SSH de faire passer ces variables d'environnement au shell
distant. Il faut modifier la config du serveur SSH /etc/ssh/sshd_config
pour que ce fichier contienne:

AcceptEnv LANG LC_*

N'oublie pas de relancer le serveur avec un "/etc/init.d/ssh restart".
Et dans ton .ssh/config, il faut que tu mettes:

SendEnv LANG LC_*

Note: ça ne fonctionne pas avec les anciennes versions d'OpenSSH. Si
c'est ton cas, alors tu as 2 possibilités:

1. Tu te débrouilles pour utiliser un terminal UTF-8 sur la machine
locale.

2. Dans le shell distant, tu fixes les variables d'environnement à la
main.




A priori la config debian de base a déjà ces 2 parametres :(

Mon problème principal est la gestion des accents avec rsync... tous les
fichiers et les répertoires qui ont des accents se retrouvent avec des
noms bizarres :(
J'ai fait un dpkg-reconfigure -plow locales
Pour ajouter iso8859-1 et -15 sur la machine cible, mais cela ne change
pas grande chose :(

@ +

Mourad



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
C. Mourad Jaber, samedi 2 décembre 2006, 16:52:14 CET
[...]
Mon problème principal est la gestion des accents avec rsync... tous
les fichiers et les répertoires qui ont des accents se retrouvent
avec des noms bizarres :( [...]



Un nom de fichier est juste une suite d'octets. Ces octets ne sont
interprétés qu'à l'affichage. P.ex. « é » est écrit avec l'octet 351
en latin-9 et avec les octets 303251 en utf-8. Les octets 303251
affichent « é » en latin-9 et 351 (tout seul) est ill égal en utf-8.

Pourquoi rsync ferait-il la conversion des noms de fichiers ? et
comment fait-il pour savoir qu'il doit le faire ? (ne pas oublier qu'il
n'y a pas de bijection entre les différents jeux de caractères)

Regarde plutôt du côté de convmv (paquet du même nom) pour faire la
conversion à l'arrivée.

--
Sylvain Sauvage
Avatar
Vincent Lefevre
On 2006-12-02 13:17:48 +0100, Rémi DELEPOULLE wrote:
Le problème doit venir du fait que l'émulateur de terminal doit être en
iso...15

Tu peut par exemple utilier uxterm qui est lui en UFT8



Ça résout le problème dans un cas particulier, mais il aura le même
problème s'il souhaite se connecter sur une machine en ISO-8859-1
(ou 15) par défaut. La meilleure solution est de s'assurer que les
variables d'environnement passent bien (en les dégradant éventuellement
dans son fichier d'init du shell si certaines locales ne sont pas
installées).

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Vincent Lefevre
On 2006-12-02 17:28:41 +0100, Sylvain Sauvage wrote:
Un nom de fichier est juste une suite d'octets.



C'est la vision buggée qu'a Linux/POSIX de la chose. Il y a des
systèmes de fichiers, où un nom de fichier est une suite de caractères
(dans un certain encodage, mais peu importe puisque les API peuvent
parler en terme de "caractère" et non d'octet).

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
C. Mourad Jaber
On 02.12.2006 22:30, Vincent Lefevre wrote:
On 2006-12-02 16:18:22 +0100, C. Mourad Jaber wrote:

Mon problème principal est la gestion des accents avec rsync... tous les
fichiers et les répertoires qui ont des accents se retrouvent avec des
noms bizarres :(




Linux n'a jamais réellemement supporté les noms de fichiers avec accent.


J'ai fait un dpkg-reconfigure -plow locales
Pour ajouter iso8859-1 et -15 sur la machine cible, mais cela ne change
pas grande chose :(




Qu'obtiens-tu si tu tapes "locale" et "locale charmap" sur les deux
machines?




L'ancienne machine :
$ locale
LANG=
LC_CTYPE=""
LC_NUMERIC=""
LC_TIME=""
LC_COLLATE=""
LC_MONETARY=""
LC_MESSAGES=""
LC_PAPER=""
LC_NAME=""
LC_ADDRESS=""
LC_TELEPHONE=""
LC_MEASUREMENT=""
LC_IDENTIFICATION=""
LC_ALL
$ locale charmap
ISO-8859-15

La nouvelle :
$ locale
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL
$ locale charmap
UTF-8

Mon hypothèse est que rsync prend les fichier en iso8859-15 et il les
écrit tel quel mais sur le système de fichier en utf8 ce qui à pour
résultat d'avoir une interprétation erronée de tous les cotés :(
@ +

Mourad


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
C. Mourad Jaber
On 02.12.2006 17:28, Sylvain Sauvage wrote:
C. Mourad Jaber, samedi 2 décembre 2006, 16:52:14 CET

[...]
Mon problème principal est la gestion des accents avec rsync... tous
les fichiers et les répertoires qui ont des accents se retrouvent
avec des noms bizarres :( [...]




Un nom de fichier est juste une suite d'octets. Ces octets ne sont
interprétés qu'à l'affichage. P.ex. « é » est écrit avec l'octet 351
en latin-9 et avec les octets 303251 en utf-8. Les octets 303251
affichent « é » en latin-9 et 351 (tout seul) est illégal en utf-8.

Pourquoi rsync ferait-il la conversion des noms de fichiers ? et
comment fait-il pour savoir qu'il doit le faire ? (ne pas oublier qu'il
n'y a pas de bijection entre les différents jeux de caractères)

Regarde plutôt du côté de convmv (paquet du même nom) pour faire la
conversion à l'arrivée.




J'ai fait quelques tests avec convmv ça à l'air d'être pas mal, mais du
coup, c'est rsync qui pête les plombs :((


Je ne vois pas comment automatiser tout ça à moins de convertir toute
mes machines à l'utf8...

@ +

Mourad


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
C. Mourad Jaber
On 03.12.2006 10:18, Thomas Clavier wrote:
Je ne vois pas comment automatiser tout ça à moins de convertir toute
mes machines à l'utf8...



supprimer les accents et les caractères spéciaux des noms de fichiers ...

ok ------> []



J'y ai pensé, mais sur 5000 fichiers ça me parait pas faisable !


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
rixed
-[ Sun, Dec 03, 2006 at 01:21:06AM +0100, Vincent Lefevre ]----
On 2006-12-02 17:28:41 +0100, Sylvain Sauvage wrote:
> Un nom de fichier est juste une suite d'octets.

C'est la vision buggée qu'a Linux/POSIX de la chose.



Je crois que ce n'est pas un bug mais un des fondamentaux d'UNIX : ne jamais
chercher à interpréter les octets, que ce soit dans le contenu des fichiers
comme dans leur nom. Cela simplifie le système, accélère les traitements, et
nous évite de nous demander, par exemple, quels caractères sont valides dans
un nom de fichier (La plupart des caractères non représentables en ASCII sont
valides actuellement - précisément, tous sauf 0).

Je préfère que l'OS ne s'occupe que des problèmes techniques (les octets),
et laisse les questions terrestres telles que l'interprétation du contenu
ou les règles de nomage aux utilisateurs.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
1 2