web-dev-qa-db-fra.com

Impossible de définir LC_CTYPE sur les paramètres régionaux par défaut: aucun fichier ou répertoire de ce type

J'ai la question exacte, mais il n'y a pas de solution. J'ai essayé mais ça ne marche pas

Comment puis-je résoudre mon problème de paramètres régionaux?

$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
C
C.UTF-8
en_US.utf8
POSIX

Est-ce à cause de la non-concordance entre en_US.UTF-8 et en_US.utf8?

Comment réparer?

47
Mave

Ouvrez le terminal et lancez la commande ci-dessous:

export LC_ALL="en_US.UTF-8"
48
Nazar

Ce même problème (LC_CTYPE = UTF-8, ce qui est faux) peut survenir lorsque vous vous connectez via ssh depuis un Mac vers une boîte Linux, et que votre terminal définit automatiquement les variables d'environnement. Il y a une case à cocher pour cela. Décochez-la, et vous êtes prêt à partir. Dans iTerm c'est dans le profil-> Onglet Terminal.

31
raarts

J'ai eu le même problème et j'ai ajouté les lignes ci-dessous dans mon fichier /etc/default/locale:

LC_CTYPE="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LANG="en_US.UTF-8"

J'ai eu ceci de ce post: Comment puis-je résoudre mon problème de paramètres régionaux?

24
Sandjaie

seulement avec ce travail pour moi

Sudo dpkg-reconfigure locales
Sudo locale-gen
17
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
Sudo dpkg-reconfigure locales
8
Hardik Gajjar

La sortie de la commande locale indique que cette ligne est incorrecte dans votre environnement:

LC_CTYPE="UTF-8"

("UTF-8" n'est pas un nom de région valide.)

Il provient généralement de /etc/default/locale. S'il vous plaît supprimer cette ligne, si elle est là, et vous reconnecter.

S'il ne provient pas de là, il peut provenir de votre configuration Shell ou, si vous êtes connecté à distance via SSH, de la configuration de la machine cliente.

6
Gunnar Hjalmarsson

Ces commandes m'ont sauvé la vie

Sudo echo "LC_ALL=en_US.UTF-8" >> /etc/environment
Sudo echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
Sudo echo "LANG=en_US.UTF-8" > /etc/locale.conf
Sudo locale-gen en_US.UTF-8
5
Taras Vaskiv

Le fichier/etc/default/locale peut avoir des lignes supplémentaires (mais inutiles): Exemple de fichier peut ressembler à ceci:

#  File generated by update-locale
LANG=en_US.UTF-8
LANGUAGE="en_IN:en

Pour trier, générer et reconfigurer avec succès les paramètres régionaux, supprimez ou commentez toutes les lignes de ce fichier, à l'exception de:

LANG=en_US.UTF-8

Le fichier devrait enfin ressembler à:

#  File generated by update-locale
LANG=en_US.UTF-8
# LANGUAGE="en_IN:en

Après cela, exécutez dpkg-reconfigure locales, sélectionnez en_US.UTF-8 lorsque vous êtes invité à sélectionner les paramètres régionaux, et vous devriez être prêt à partir. Vous recevrez un message Generation complete. à la fin du processus.

3
Ambar

J'ai réussi à le provoquer moi-même lors de la migration des fichiers de points du répertoire de départ vers un nouvel ordinateur et je n'ai pas réussi à en déterminer la cause pendant un certain temps en recherchant des fichiers pour LC_ mais pas LOC.

Le fichier ~/.bashrc que j'ai copié était le suivant:

export LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale

(La valeur particulière ici était due à des expériences antérieures avec GNU Guix sur l'ancienne machine; mais le fait important est simplement que la variable d'environnement a été définie sur un chemin maintenant non valide.)

Cela a entraîné l'erreur suivante lors de l'exécution de divers programmes:

Warning: locale not supported by C library, locale unchanged

Et ces erreurs lors de l'exécution de locale:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

Le fait de supprimer (ou de commenter) la ligne LOCPATH a résolu mes problèmes.

0
phils