[locale] caracteres spéciaux et accents (resolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
leon
Hankyu
Messages : 12
Inscription : dim. 11 mars 2012, 11:34

[locale] caracteres spéciaux et accents (resolu)

Message par leon »

Tout d'abord bonjour à tous !

J'ai installé Arch il y a quelques temps (chroot install) et j'ai toujours eu des problèmes d'accents, mais ce n'était pas ma priorité. Depuis que je m'y suis attaqué, j'ai RTFM et STFW un max, et la je suis complement bloqué, c'est pourquoi je crée un topic. J'ai fait un tour sur IRC également, mais sans plus.

Sans transition, le fait est le suivant :

Quand je récupère un fichier avec un accent dans son nom, depuis Internet par exemple, Thunar me l'affiche avec un losange noir et un '?' à l'intérieur et "(invalid encoding)" en fin de nom de fichier.

Quand je tente de créer un nouveau fichier ou d'en renommer un avec un accent depuis Thunar, ce dernier me renvoie une injure telle que "Invalid byte bequence in conversion input"

Si je crée un fichier depuis un terminal (j'utilise terminator) avec un accent, tout marche bien, et il apparait propre sous Thunar, sans "invalid encoding" ou losange noir. Mais lors d'un 'ls' dans le shell, il apparait avec '??' à la place des accents.

Avant j'étais sous Crunchbang, et j'avais renomé beaucoup de fichier avec des accents et caracteres spéciaux sans soucis... Maintenant que je branche mon disque dur (avec ces fichiers), les noms apparaissent correctement dans Thunar (pas de losange ou autre) mais le chemin n'est pas valide dès qu'il y a des accents. Et lors d'un 'ls' les fichiers apparaissent cette fois avec des "<C3><B6>" a la place des caracteres spéciaux ou accents.

Maintenant niveau configuration :
Terminator Utilise UTF-8

le résultat de locale -a :

Code : Tout sélectionner

C
POSIX
en_US
en_US.iso88591
en_US.utf8
fr_FR
fr_FR.iso88591
fr_FR.iso885915@euro
fr_FR.utf8
fr_FR@euro
fran�ais
french
le résultat de locale -a sur la crunchbang d'origine :

Code : Tout sélectionner

C
POSIX
en_US.utf8
c'est surtout la que je commence a être perdu, car à l'origine tout accents ou caractere spécial était valide avec en_US.utf8

le rc.conf au niveau des locale :

Code : Tout sélectionner

LOCALE="en_US.UTF-8"
DAEMON_LOCALE="no"
HARDWARECLOCK="UTC"
TIMEZONE="Europe/Paris"
KEYMAP="fr-pc"
CONSOLEFONT=
CONSOLEMAP="fr-pc"
USECOLOR="yes"
Si quelqu'un avait une idée d'ou ca peut venir, ou au moins une piste vers quoi chercher.
merci d'avance

leon.

Edit: quelques mise en forme
Dernière modification par leon le sam. 17 mars 2012, 18:55, modifié 1 fois.
Avatar de l’utilisateur
Ypnose
Maître du Kyudo
Messages : 1363
Inscription : sam. 01 mai 2010, 13:17

Re: [locale] caracteres spéciaux et accents

Message par Ypnose »

Moi dans mon rc.conf, j'ai toujours eu pour LOCALE="fr_FR.UTF-8".
Après je ne sais pas si ça joue.
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1222
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [locale] caracteres spéciaux et accents

Message par karhu »

Regarde ces deux postes, ils pourront certainement t'aider.
http://forums.archlinux.fr/topic10082.html
http://forums.archlinux.fr/topic10015.html
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
leon
Hankyu
Messages : 12
Inscription : dim. 11 mars 2012, 11:34

Re: [locale] caracteres spéciaux et accents

Message par leon »

Ypnose a écrit :Moi dans mon rc.conf, j'ai toujours eu pour LOCALE="fr_FR.UTF-8".
Après je ne sais pas si ça joue.
Pour moi, utf8 qu'il soit fr_ ou en_ ca reste de l'utf8 et gere les accents, mais je peux me tromper

@karhu

j'étais tombé sur ces topic via google, et j'ai du lire un peu de travers, shame on me.
la seule correspondance est :

Code : Tout sélectionner

$ touch éolà
$ file -i éolà
éolà: inode/x-empty; charset=binary
[strike] donc là, le charset, pas d'accord =( [/strike]

edit : avec du texte
pour de simples accents

Code : Tout sélectionner

éolà: text/plain; charset=utf-8
avec des caracteres spéciaux

Code : Tout sélectionner

$ file -i éolà
éolà: text/plain; charset=iso-8859-1
$ cat éolà
bla bla bla
fichier avec plein d'accents et trucs bizzares:
� çèäûô
et aussi sur des fichiers édités avant Arch :

Code : Tout sélectionner

$ file -i Björk
Björk: inode/directory; charset=binary
comment regler le charset ?
un coup de google et pis
le fichier /etc/environment n'etait iconu jusqu'a aujourdhui, et il est vide, enfin ya du commentaire quoi.
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1222
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [locale] caracteres spéciaux et accents

Message par karhu »

As tu fait une installation, puis récupéré des anciens fichiers sur d'autres partitions ou sur le net ?
Dans ce cas peut-être que l'encodage ne correspond pas à celui que tu as de défini maintenant.
Dans un premier temps, dans un terminal crée un fichier avec des accents dans le texte et dans le titre, puis fait un file <fichier> pour voir l'encodage réalisé, et un petit cat <fichier> pour vérifier que tout est bon.
Ensuite, fait une création avec thunar et vérifie dans un terminal son encodage. Peut-être est ce thunar qui est mal configuré ?
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [locale] caracteres spéciaux et accents

Message par FoolEcho »

leon a écrit : et aussi sur des fichiers édités avant Arch :

Code : Tout sélectionner

$ file -i Björk
Björk: inode/directory; charset=binary
Pour complèter (ça n'a pas l'air d'être clair): file -i analyse comment le contenu est encodé, pas le nom. Pour un répertoire, c'est normal que ça sorte du binaire. Il faut biaiser pour connaître l'encodage du nom (voir sujets indiqués par karhu).
«The following statement is not true. The previous statement is true.» :nage:
leon
Hankyu
Messages : 12
Inscription : dim. 11 mars 2012, 11:34

Re: [locale] caracteres spéciaux et accents

Message par leon »

karhu a écrit :As tu fait une installation, puis récupéré des anciens fichiers sur d'autres partitions ou sur le net ?
Dans ce cas peut-être que l'encodage ne correspond pas à celui que tu as de défini maintenant.
en gros oui et non, c'est un peu ce que j'essayais d'expliquer :
pour les fichiers faits avant, ca marche pas au niveau du chemin. Les caracteres spéciaux ne s'affichent pas en console mais apparaissent bien sous thunar.
et quand je veux en creer un, impossible sous thunar.
karhu a écrit :Dans un premier temps, dans un terminal crée un fichier avec des accents dans le texte et dans le titre, puis fait un file <fichier> pour voir l'encodage réalisé, et un petit cat <fichier> pour vérifier que tout est bon.

Code : Tout sélectionner

$ file éoàè
éoàè: UTF-8 Unicode text
$ cat éoàè
blablabla éèçäêø # c'est ce que j'ai mis dedans, bien que avec des espaces entre les carateres
karhu a écrit :Ensuite, fait une création avec thunar et vérifie dans un terminal son encodage. Peut-être est ce thunar qui est mal configuré ?
Impossible de créer un fichier dont le titre contient des accents...

au prochain reboot, j'essairais de ne mettre que en_US.utf8 en locale de disponible, pour voir.
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1222
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [locale] caracteres spéciaux et accents

Message par karhu »

leon a écrit : j'essairais de ne mettre que en_US.utf8 en locale de disponible, pour voir.
Il n'y a pas beaucoup d'accents dans la langue anglaise, à part l'accent tonique ou l'accent régional :o
Thunar est bien le gestionnaire de fichier de XFCE, regarde aussi du coté de sa configuration.
Au fait quel terminal utilisais tu ? Celui de XFCE ou un autre, genre xterm basique ?
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [locale] caracteres spéciaux et accents

Message par FoolEcho »

De ce que je comprends, c'est ce que karhu disait: tes fichiers importés, comme thunar, sont en latin-1 de par ton ancienne configuration tandis que ton système est en utf8... donc voir l'un des sujets précédents.
«The following statement is not true. The previous statement is true.» :nage:
leon
Hankyu
Messages : 12
Inscription : dim. 11 mars 2012, 11:34

Re: [locale] caracteres spéciaux et accents

Message par leon »

leon a écrit : le résultat de locale -a sur la crunchbang d'origine :

Code : Tout sélectionner

C
POSIX
en_US.utf8
comment les fichiers créés sous crunchbang peuvent être en latin-1 ?
plus j'avance, moins je comprends
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [locale] caracteres spéciaux et accents

Message par FoolEcho »

Pour ce(s) cas de figure:
leon a écrit :edit : avec du texte
pour de simples accents

Code : Tout sélectionner

éolà: text/plain; charset=utf-8
avec des caracteres spéciaux

Code : Tout sélectionner

$ file -i éolà
éolà: text/plain; charset=iso-8859-1
$ cat éolà
bla bla bla
fichier avec plein d'accents et trucs bizzares:
� çèäûô
, comment as-tu rempli/complété ton fichier ?
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
Amethyste
Daikyu
Messages : 57
Inscription : mer. 01 sept. 2010, 10:26
Localisation : Lyon

Re: [locale] caracteres spéciaux et accents

Message par Amethyste »

leon a écrit :
Ypnose a écrit :Moi dans mon rc.conf, j'ai toujours eu pour LOCALE="fr_FR.UTF-8".
Après je ne sais pas si ça joue.
Pour moi, utf8 qu'il soit fr_ ou en_ ca reste de l'utf8 et gere les accents, mais je peux me tromper
Pourtant, j'ai réinstallé récemment Arch pour passer en x86_64. J'ai oublié de modifier ma locale dans rc.conf (donc LOCALE="en_US.UTF-8") Résultat : des problèmes d'accents avec KDE. En rétablissant LOCALE="fr_FR.UTF-8" plus de problème. UTF 8 gère certes les accent mais si les suffixes en_US et fr_FR existent il doit bien avoir une raison... ou alors il faudrait qu'on m'explique.
Core i5 3570K + 8 Go de RAM + CG NVIDIA GT640
Archlinux x86-64 + KDE 4
leon
Hankyu
Messages : 12
Inscription : dim. 11 mars 2012, 11:34

Re: [locale] caracteres spéciaux et accents

Message par leon »

Pour les accents, ok soit...
mais qu'en est il des caractères spéciaux ?
comment as-tu rempli/complété ton fichier ?
dans vim
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [locale] caracteres spéciaux et accents

Message par FoolEcho »

Tu as vérifié que vim t'ait bien enregistré le fichier en utf8 ?
«The following statement is not true. The previous statement is true.» :nage:
leon
Hankyu
Messages : 12
Inscription : dim. 11 mars 2012, 11:34

Re: [locale] caracteres spéciaux et accents

Message par leon »

ca a l'air ouais.

je sens que ca va finir par une réinstall
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [locale] caracteres spéciaux et accents

Message par FoolEcho »

*soupir*

Sauf que si file t'indique que c'est de l'iso, c'est que vim te l'a enregistré comme tel (ou alors, tu as un script bizarre quelque part qui te convertit tout en latin1 :| ).

En console, que donne:

Code : Tout sélectionner

echo éàç > test
file -i test
Si ça te sort de l'iso et pas de l'utf8, c'est l'encodage de ta console qui ne va pas.
karhu a écrit :Au fait quel terminal utilisais tu ? Celui de XFCE ou un autre, genre xterm basique ?
... sachant que la question t'a été posée (et vu qu'on peut changer l'encodage des terminaux évolués à la volée: c'est-à-dire que ton terminal peut très bien te présenter les choses sans respecter ta locale). :)
Amethyste a écrit :UTF 8 gère certes les accent mais si les suffixes en_US et fr_FR existent il doit bien avoir une raison... ou alors il faudrait qu'on m'explique.
C'est pour la localisation (c'est-à-dire la langue que l'application va utiliser si elle existe).
«The following statement is not true. The previous statement is true.» :nage:
leon
Hankyu
Messages : 12
Inscription : dim. 11 mars 2012, 11:34

Re: [locale] caracteres spéciaux et accents

Message par leon »

En console, que donne:

Code : Tout sélectionner

echo éàç > test
file -i test
Si ça te sort de l'iso et pas de l'utf8, c'est l'encodage de ta console qui ne va pas.

Code : Tout sélectionner

$ echo éàç > test
$ file -i test
test: text/plain; charset=utf-8
karhu a écrit :Au fait quel terminal utilisais tu ? Celui de XFCE ou un autre, genre xterm basique ?
... sachant que la question t'a été posée (et vu qu'on peut changer l'encodage des terminaux évolués à la volée: c'est-à-dire que ton terminal peut très bien te présenter les choses sans respecter ta locale). :)
je l'ai précisé dans mon premier post: j'utilise terminator et il est configuré pour utiliser utf8
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [locale] caracteres spéciaux et accents

Message par FoolEcho »

Comme souvent quand le sujet est bien avancé (que quelqu'un a déjà répondu et que j'en regarde d'autres), je ne le relis pas en entier... :copain:

Bon, revenons sur les noms de fichier...
leon a écrit :Quand je récupère un fichier avec un accent dans son nom, depuis Internet par exemple, Thunar me l'affiche avec un losange noir et un '?' à l'intérieur et "(invalid encoding)" en fin de nom de fichier.

Quand je tente de créer un nouveau fichier ou d'en renommer un avec un accent depuis Thunar, ce dernier me renvoie une injure telle que "Invalid byte bequence in conversion input"
Si l'encodage du nom de fichier est différent de celui du système/thunar, c'est normal que son affichage foire... pour le renommage, c'est du même ordre...
leon a écrit :Et lors d'un 'ls' les fichiers apparaissent cette fois avec des "<C3><B6>" a la place des caracteres spéciaux ou accents.
... et donc c'est bien de l'utf8, je dirais... sauf que terminator te l'affiche sous forme de code hexa (c3 b6 == "ö"). J'ignore totalement comment on peut configurer ça, mais je suppose que c'est dans ta configuration de terminator (ou peut-être de ton .bash_profile/.bashrc).

Et sur ton exemple précédent (mais là, c'est pour le contenu), je maintiens que vim a du t'enregistrer ton fichier en latin-1 (tu n'as peut-être pas fait gaffe).

Il faut commencer par regarder ta configuration utilisateur pour ces différents programmes (par conséquent, une réinstallation ne servirait à rien, par contre tu peux regarder comment tout ça se comporte avec un compte utilisateur test).
«The following statement is not true. The previous statement is true.» :nage:
leon
Hankyu
Messages : 12
Inscription : dim. 11 mars 2012, 11:34

Re: [locale] caracteres spéciaux et accents

Message par leon »

FoolEcho a écrit :Comme souvent quand le sujet est bien avancé (que quelqu'un a déjà répondu et que j'en regarde d'autres), je ne le relis pas en entier...
en fait j'ai essayé de donner le plus de détails possible dès le debut, mais je comprends tres bien, j'aurais fait la même chose :roll:
FoolEcho a écrit : Bon, revenons sur les noms de fichier...
Si l'encodage du nom de fichier est différent de celui du système/thunar, c'est normal que son affichage foire... pour le renommage, c'est du même ordre...
bah justement, avec le nouveau noyeau, j'ai mis que en_US.utf8, comme sur la crunchbang. et pour l'idée, je tente sur les caracteres spéciaux comme ca on parle plus d'accent... (que ce soit en francais ou en anglais le "ø", par exemple, n'existe pas vraiment) ca met tout le monde d'accord.

bon alors l'encodage dans thunar, si je comprends bien, c'est obligatoirement de l'utf8 ou ascii :
Thunar uses various tricks to convert file names to UTF-8 (which is required to handle filenames in the user interface). File names with invalid encoding (neither UTF-8/ASCII, nor the specified GLib file system encoding) may look different (i.e. invalid characters replaced with ? characters). Because the file name is garantied to be valid UTF-8 once Thunar has read them, the bulk renamer can handle them afterwards. There's no explicit renamer module to just save the file names with the UTF-8 encoding, tho.
et ca je le tire de la FAQ directement.
donc je pense que ca va etre difficil de lui imposer, un encodage spécial.
maintenant, il m'est toujours impossible de creer un fichier avec caractere speciaux sous Thunar, Mais sont affichés correct si créés en console...
FoolEcho a écrit :
leon a écrit :Et lors d'un 'ls' les fichiers apparaissent cette fois avec des "<C3><B6>" a la place des caracteres spéciaux ou accents.
... et donc c'est bien de l'utf8, je dirais... sauf que terminator te l'affiche sous forme de code hexa (c3 b6 == "ö"). J'ignore totalement comment on peut configurer ça, mais je suppose que c'est dans ta configuration de terminator (ou peut-être de ton .bash_profile/.bashrc).
Terminator est configuré en utf8, depuis le début.
.bash_profile/.bashrc ; pas bete, mais j'ai jamais vu de ligne de configuration au niveau de l'encodage dans un de ces fichiers. Je viens de comparer avec les autres distributions installées sur le laptot, et j'ai rien vu qui pourrait y ressembler; t'aurais un exmple ?
Et sur ton exemple précédent (mais là, c'est pour le contenu), je maintiens que vim a du t'enregistrer ton fichier en latin-1 (tu n'as peut-être pas fait gaffe).
Ok, mais alors comment le forcer a utiliser utf8
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [locale] caracteres spéciaux et accents

Message par FoolEcho »

leon a écrit :Terminator est configuré en utf8, depuis le début.
.bash_profile/.bashrc ; pas bete, mais j'ai jamais vu de ligne de configuration au niveau de l'encodage dans un de ces fichiers. Je viens de comparer avec les autres distributions installées sur le laptot, et j'ai rien vu qui pourrait y ressembler; t'aurais un exmple ?
Ce que je veux dire, c'est que terminator est configuré en utf8, mais qu'il t'écrit les caractères spéciaux sous la forme hexa (pourquoi, comment et où ça se configure, je l'ignore... mais je me rappelle qu'à une époque, les caractères étaient représentés ainsi en console sous Ubuntu... c'est pourquoi je te disais de comparer avec un utilisateur test, créé sous Arch...). Tu n'as pas un fichier de configuration de terminator qui traîne ?
leon a écrit :
FoolEcho a écrit : Et sur ton exemple précédent (mais là, c'est pour le contenu), je maintiens que vim a du t'enregistrer ton fichier en latin-1 (tu n'as peut-être pas fait gaffe).
Ok, mais alors comment le forcer a utiliser utf8
J'en sais rien, je n'utilise pas vim (dans son interface ? dans un .vimrc ?). :P

Pour thunar, s'il existe, tu peux mettre de côté un éventuel ~/.config/Thunar/thunarrc qui existait ailleurs que sous Arch.
«The following statement is not true. The previous statement is true.» :nage:
Répondre