Impossible de générer les paramètres régionaux en_US.UTF-8

8

J'ai essayé de définir mes paramètres régionaux en_US.UTF-8sans succès. Sur la base d'autres réponses sur Internet, je dois d'abord générer les paramètres régionaux avec

sudo locale-gen en_US.UTF-8

Et puis appliquez-le avec

sudo dpkg-reconfigure locales

Cependant, courir locale-genfait quelque chose de bizarre:

user@Host /home/user $ sudo locale-gen en_US.UTF-8
Generating locales (this might take a while)...
  en_US.ISO-8859-1... done
Generation complete.

Comme vous le voyez, il ne génère jamais réellement UTF-8, mais continue de retomber à ISO-8859-1. Je n'arrive jamais à me mettre LC_ALLà en_US.UTF-8, probablement parce qu'il ne peut pas générer.

Est-ce que je fais quelque chose de mal? J'utilise Debian 8.1.

Erik S
la source

Réponses:

28

Vous avez essayé d'appliquer une recette pour Ubuntu sous Debian. Cela fonctionne généralement, mais dans ce cas spécifique, cela ne fonctionne pas.

Ubuntu est dérivé de Debian et ne change pas grand-chose à part le programme d'installation et l'interface graphique. La locale-gencommande est l'une de ces quelques autres choses qu'elle change. Je ne sais pas pourquoi.

Sous Debian, la locale-gencommande ne prend aucun argument et régénère les définitions de paramètres régionaux compilées en fonction de la liste configurée de paramètres régionaux. Pour modifier la sélection des paramètres régionaux que vous souhaitez utiliser, modifiez le fichier, /etc/locale.genpuis exécutez la locale-gencommande. Sinon, exécutez en dpkg-reconfigure localestant que root, sélectionnez les paramètres régionaux supplémentaires que vous souhaitez (et désélectionnez ceux que vous ne souhaitez pas), puis appuyez sur OK.

Sous Ubuntu, si vous exécutez la locale-gencommande sans arguments, elle régénère les définitions de paramètres régionaux compilées en fonction de la liste de paramètres régionaux configurée. Mais si vous passez des arguments, ils sont ajoutés à la liste et générés immédiatement. La liste des paramètres régionaux est conservée /var/lib/locales/supported.d/local. L'exécution dpkg-reconfigure localesrégénère simplement les paramètres régionaux compilés sans vous donner la possibilité de modifier la sélection.

En résumé, pour ajouter en_US.UTF-8à la liste des paramètres régionaux utilisables:

  • Debian, interactive: dpkg-reconfigure locales
  • Debian, automatisé: sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen && locale-gen
  • Ubuntu, automatisé: locale-gen en_US.UTF-8
Gilles 'SO- arrête d'être méchant'
la source
Alors, comment ajouteriez-vous des packages dpkg-reconfigure? J'ai obtenu l'interface interactive, mais lors de la sélection d'un élément avec enter, il n'a pas été installé.
Erik S
@ErikDolor Je ne comprends pas votre question. À moins que vous n'ayez modifié les paramètres debconf, dpkg-reconfigure localesune boîte de dialogue en mode texte s'affiche, avec une case à cocher pour chaque paramètre régional pouvant être généré. Faites défiler vers le bas en_US.UTF-8, vérifiez-le et appuyez sur le bouton OK.
Gilles 'SO- arrête d'être méchant'
J'ai essayé de le vérifier avec le bouton Entrée, mais cela a apparemment fonctionné en appuyant sur OK.
Erik S
2
@ErikDolor Oh. Appuyez sur Espace pour basculer une case à cocher.
Gilles 'SO- arrête d'être méchant'
Fonctionne également pour jaspie raspbian
Neo_Returns
5

Après avoir lu le fichier man pour locale-gen au lieu de faire aveuglément confiance à Internet, j'ai trouvé que cela locale-genprend réellement les locales pour générer à partir de /etc/locale.gen. En décommentant en_US.UTF-8là-bas, j'ai réussi à le générer.

Erik S
la source
sed -i '/^#.* es_ES / s / ^ # //' /etc/locale.gen Si vous utilisez docker cela pourrait être utile
Borjante
La SEULE réponse qui a fonctionné pour moi après avoir parcouru Internet pendant des jours !! Merci beaucoup!
I.Am.A.Guy