Forum Linux.général Problème de locales ou charset ?

Posté par  . Licence CC By‑SA.
Étiquettes :
0
14
oct.
2013

Bonsoir à tous,

Sur mon système Arch GNU/Linux, j'ai fait le ménage dans le fichier /etc/locale.gen.

J'ai en effet retiré (commenté) :

fr_FR.UTF-8 UTF-8  
fr_FR ISO-8859-1  
fr_FR@euro ISO-8859-15  

Afin que seule soit active la ligne :

en_GB.UTF-8 UTF-8  

J'ai ensuite locale-purgé pour virer ce qui ne "servait à rien".

Je ne sais pas si c'est lié, mais suite à ça, lorsque je crée un répertoire avec un nom accentué via thunar, alors
son nom ne s'affiche pas correctement dans xfce4-terminal ("??" à la place de "é").

Et lorsque je tape par exemple 'é' dans xfce4-terminal alors '?' s'affiche dans xfce4-terminal et thunar m'affiche '?' à la place du 'é'.

J'ai changé le charset de xfce4-terminal. J'ai en effet joué avec ISO 8859-15 et UTF8 mais rien ne convient.

J'ai cherché pendant deux semaines pourquoi TexStudio, à partir de thunar (en faisant un double-clic) ne pouvait pas ouvrir certaines de mes fichiers. C'est parce qu'ils
étaient stockés dans des répertoires ayant au moins un caractère accentué !

Ayant découvert cela, j'ai re-décommenté les lignes précédement commentées dans le fichier /etc/locale.gen et ai ensuite exécuté la commande :

locale-gen

Ceci afin de tenter de restaurer la configuration. Mais le problème reste présent.

Je précise que mon système a été installé le 18 septembre avec la dernière ISO Arch, et est à jour (yaourt -Syu --aur --devel).

Mon clavier est AZERTY mais la langue de l'OS est English.

Voici le contenu du fichier /etc/vconsole.conf :

[root@zoulou /]# cat /etc/vconsole.conf 
KEYMAP=fr-pc
#KEYMAP=fr-latin1
[root@zoulou /]# 

"charset" c'est bien différent des "locales", right ?
"keymap" c'est encore autre chose, right ?

Il me faudrait :

charset == UTF8 ou au moins 8859-15, right ?
locale == EN_GB_UTF8 ou un truc du genre, right ?
keymap == fr-pc, right ?

Donc qu'est-ce qui peut clocher ?
J'ai conscience que c'est une question basique, mais je suis perdu.
Pourriez-vous m'éclairer sur charset/locale/keymap ?

Merci les Libristes ! Thanks !

  • # Mauvais fichier

    Posté par  . Évalué à 3. Dernière modification le 14 octobre 2013 à 22:22.

    /etc/vconsole.conf c'est pour les consoles virtuelles aussi appelées "vt", bref les consoles plein écran accessibles avec les touches ctrl+alt+Fx

    Le fichier qui t’intéresse c'est /etc/locale.conf, là tu pourra modifier la paire langue/encodage, voici le mien :

    LANG="fr_FR.utf8"
    LANGUAGE="fr"
    LC_COLLATE="C"
    

    À adapter à ton cas

    • [^] # Re: Mauvais fichier

      Posté par  . Évalué à 1. Dernière modification le 14 octobre 2013 à 22:34.

      Hello,

      Merci ! Je crois qu'on avance !

      Y'a plus de fichier /etc/locale.conf, je crois qu'il s'est fait systemdéisé :

      [root@zoulou bastien]# ls /etc/local*
      /etc/locale.gen  /etc/localtime
      [root@zoulou bastien]# 
      

      Locale utilisée actuellement :

      [root@zoulou bastien]# locale   
      LANG=C
      LC_CTYPE="C"
      LC_NUMERIC="C"
      LC_TIME="C"
      LC_COLLATE="C"
      LC_MONETARY="C"
      LC_MESSAGES="C"
      LC_PAPER="C"
      LC_NAME="C"
      LC_ADDRESS="C"
      LC_TELEPHONE="C"
      LC_MEASUREMENT="C"
      LC_IDENTIFICATION="C"
      LC_ALL=
      

      Liste des locales disponibles sur le système :

      [root@zoulou bastien]# locale -a
      C
      POSIX
      en_GB.utf8
      fr_FR
      fr_FR.iso88591
      fr_FR.iso885915@euro
      fr_FR.utf8
      fr_FR@euro
      français
      french
      [root@zoulou bastien]# 
      

      Je vais voir pour dire à systemd d'utiliser cette dernière par défaut pour tout le système.

      +

      • [^] # Re: Mauvais fichier

        Posté par  . Évalué à 1.

        Il y a du mieux (on avance encore !!!) :

        Je lui indique quelle locale je veux utiliser :

        [root@zoulou bastien]# localectl set-locale LANG="en_GB.utf8"
        

        J'obtiens ainsi le fichier de conf' comme il faut :

        [bastien@zoulou ~]$ cat /etc/locale.conf 
        LANG=en_GB.utf8
        [bastien@zoulou ~]$ 
        

        Et je peux maintenant taper des caractères accentués dans xfce4-terminal :

        [bastien@zoulou ~]$ mkdir é
        

        Mais dans thunar, maintenant il m'affiche :

        � (invalid encoding)
        

        Comment je dois m'y prendre maintenant ?

        • [^] # Re: Mauvais fichier

          Posté par  . Évalué à 2.

          T'a relancé la session ? Thunar gère le bureau il ne verra pas le changement tant qu'il ne sera pas relancé.

      • [^] # Re: Mauvais fichier

        Posté par  . Évalué à 3. Dernière modification le 14 octobre 2013 à 22:43.

        /etc/locale.conf EST un fichier de systemd, après faut voir pour les dernières versions si ça na pas bougé.

        Dans le doute tu peut utiliser localectl qui se chargera de mettre ça au bon endroit.

        • [^] # Re: Mauvais fichier

          Posté par  . Évalué à 1.

          Hi,

          Je viens de relancer X.
          Idem.

          Je vais tenté un shutdown -r now !

          • [^] # Re: Mauvais fichier

            Posté par  . Évalué à 1.

            Ca fonctionne !!!!!
            Je ne sais pas ce que j'ai changé depuis…. étrange !

            [bastien@zoulou ~]$ perl -e 'print "\xe2\x82\xac\n"' 
            €
            [bastien@zoulou ~]$ perl -e 'print "\xe2\x82\xac\n"'|wc -m 
            2
            [bastien@zoulou ~]$ perl -e 'print "touch \xe2\x82\xac\n"'|sh 
            [bastien@zoulou ~]$ ls
            €                             lettre à Dorothée.txt
            [bastien@zoulou ~]$ mkdir é
            [bastien@zoulou ~]$ 
            

            J'obtiens tout ce qu'il faut.
            Et thunar affiche bien le symbole € et le 'é' !

            Merci à vous,
            Bastien

        • [^] # Re: Mauvais fichier

          Posté par  . Évalué à 1.

          Ahah,

          Je viens de rebooter, toujours pareil.

          Je viens d'avoir l'idée de remettre le charset de XFCE4-terminal à UTF8 (je ne sais plus comment il est right now).
          Mais lorsque j'arrive dans le menu Terminal -> Set Encoding -> xfce4-terminal plante !

          J'ai utilisé un autre moyen Edit -> Preferences -> Advanced -> Default caracter encoding, mais ça ne fonctionne pas :
          lorsque je crée un répertoire via "mkdir ééé" thunar affiche �� (invalid encoding)

  • # pas chez moi

    Posté par  . Évalué à 2.

    Ayant découvert cela, j'ai re-décommenté les lignes précédement commentées dans le fichier /etc/locale.gen et ai ensuite exécuté la commande :
    locale-gen

    chez moi locale-gen s'utilise en precisant ce que tu veux generer, exemple :

    locale-gen en_GB.UTF-8

    • [^] # Re: pas chez moi

      Posté par  . Évalué à 0.

      Bizarre :

      Je relance X et ensuite ça ne fonctionne plus (thunar affiche "invalide encoding").

      Puis j'exécute :

      [bastien@zoulou ~]$ locale
      LANG=en_GB.utf8
      LC_CTYPE="en_GB.utf8"
      LC_NUMERIC="en_GB.utf8"
      LC_TIME="en_GB.utf8"
      LC_COLLATE="en_GB.utf8"
      LC_MONETARY="en_GB.utf8"
      LC_MESSAGES="en_GB.utf8"
      LC_PAPER="en_GB.utf8"
      LC_NAME="en_GB.utf8"
      LC_ADDRESS="en_GB.utf8"
      LC_TELEPHONE="en_GB.utf8"
      LC_MEASUREMENT="en_GB.utf8"
      LC_IDENTIFICATION="en_GB.utf8"
      LC_ALL=
      [bastien@zoulou ~]$ perl -e 'print "touch \xe2\x82\xac\n"'|sh 
      [bastien@zoulou ~]$ mkdir é
      [bastien@zoulou ~]$ 
      

      Et ça refonctionne… (i.e. thunard m'affiche bien un fichier nommé € et un répertoire nommé "é")
      Je vais devenir fou.
      C'est grave Docteur ?

      • [^] # Re: pas chez moi

        Posté par  . Évalué à 3.

        C'est grave Docteur ?

        ca depend, elle sort d'ou l'incatation :

        [bastien@zoulou ~]$ perl -e 'print "touch \xe2\x82\xac\n"'|sh

        • [^] # Re: pas chez moi

          Posté par  . Évalué à 1. Dernière modification le 15 octobre 2013 à 10:38.

          Hi,

          Elle sort du Net.
          Je ne retrouve plus la page.
          Bon, je ne vais pas t'expliquer le but de la commande. :-)

          Mais après une bonne nuit de sommeil, ma Arch fonctionne maintenant correctement !!!

          Je considère donc le problème comme étant clos.

          Merci à NeoX et à tonton Benoit.

          bastien@zoulou ~]$ mkdir é
          bastien@zoulou ~]$ touch €
          

          thunar affiche bien un répertoire nommé 'e' et un fichier nommé '€' ! Cool !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.