J'ai commencé à avoir l'erreur suivante chaque fois que j'utilise SVN sur mon serveur:
svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LC_CTYPE is UTF-8
svn: warning: please check that your locale name is correct
je suppose qu'il y a peut-être un problème avec mon client svn (Using Versions App) et le serveur svn ...
comment faire pour que cet avertissement disparaisse à jamais du serveur chaque fois que j'utilise de telles commandes?
Vérifiez la sortie de
locale -a
Si les paramètres régionaux sur lesquels SVN se plaint ne sont pas installés, vous pouvez les installer.
Vous devrez peut-être faire:
Sudo apt-get install language-pack-en-base
suivi de l'un des (selon l'erreur exacte de SVN, le premier cas est le vôtre):
Sudo locale-gen UTF-8
Sudo locale-gen en_GB.UTF-8
Sudo locale-gen en_US.UTF-8
Alternativement, comme l'écrit Ankit dans sa réponse :
export LC_ALL=C
peut fonctionner (dans votre session en cours ou dans votre .profile).
Bien que définir LC_CTYPE sur une valeur vide fonctionne pour moi, la raison sous-jacente était que le terminal d'application sur mon Mac définissait les paramètres régionaux au démarrage, même lorsque SSH était connecté à un autre système.
Cela peut être corrigé dans Terminal> Préférences:
Si vous souhaitez résoudre ce problème, définissez la variable “LC_ALL” manuellement.
Pour le rendre permanent, éditez simplement le fichier “/ etc/environment” et ajoutez la ligne suivante:
LC_ALL=C
Enregistrez le fichier et quittez l'éditeur. Pour pouvoir l'appliquer, vous devez vous déconnecter de la session Shell en cours. La prochaine fois que vous vous connecterez, le problème avec SVN disparaîtra.
Les paramètres LC_ALL et LANG ne fonctionnaient pas pour moi, mais LC_CTYPE le faisait.
LC_CTYPE=en_US.UTF-8
On Debian Jessie :
Iran:
Sudo dpkg-reconfigure locales
Ajout et installation des paramètres régionaux manquants . Ensuite, cela a fonctionné.
commenter les lignes avec SendEnv LANG LC_*
dans/etc/ssh/ssh_config m'aide (openSUSE)
Cela est dû au fait que les paramètres régionaux appropriés ne sont pas générés sur votre système.
Lignes non commentées que vous souhaitez prendre en charge dans /etc/locale.gen
Par exemple:
en_GB.UTF-8 UTF-8
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
puis exécutez Sudo locale-gen
Nous avons également rencontré ce problème dans notre entreprise avec IntelliJ. Un de mes collègues vient de le réparer.
Pour nous, le problème était la ligne SendEnv LANG LC_*
dans /etc/ssh/ssh_config
. Quand j'ai commenté cette ligne, tout a bien fonctionné.
Pour iTerm2:
Profils → Ouvrir les profils… → Modifier les profils… → Terminal → Décocher Définir automatiquement les variables de localisation
J'ai trouvé qu'en combinant plusieurs réponses, on entend un comportement correct.
Cela dépend des types de noms de fichiers que vous avez dans votre arborescence de sources. Par exemple, j'ai l'anglais, l'hébreu et l'arabe. en_US.UTF-8 fonctionne pour moi. "C" sur son propre conduit à des fichiers que je ne pouvais pas mettre à jour.
J'ai eu le problème lorsque je me connecte à un serveur ssh distant (ssh est utilisé par svnserve -> commande svn update).
La raison en est que le pack linguistique disponible sur le serveur distant n'est pas défini dans $ LANG sur le serveur local.
Vous pouvez vérifier les modules de langue installés avec "locale -a". La langue $ LANG doit être configurée sur le serveur distant.
Par exemple.
Serveur local: LANG = en_US.UTF-8
Serveur distant: locale -a -> seul de_DE.UTF-8 est disponible
Solution: installez simplement le module linguistique manquant sur le serveur distant: dpkg-reconfigure locales;
au fait: la langue sélectionnée par défaut n'a pas d'importance.