SVN не может установить локаль LC CTYPE

Я начал получать следующую ошибку всякий раз, когда я использую SVN на своем сервере:

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

Я предполагаю, что может быть что-то не так с моим клиентом svn(с помощью приложения версий) и сервером svn...

Как я могу заставить это предупреждение исчезнуть навсегда с сервера всякий раз, когда я использую такие команды?

11 ответов


Проверьте вывод

locale -a

если языковой стандарт, на который жалуется SVN, не установлен, вы можете установить его.

вы должны:

sudo apt-get install language-pack-en-base

затем следует один из (в зависимости от точной ошибки от SVN, ваш первый случай):

sudo locale-gen UTF-8
sudo locale-gen en_GB.UTF-8
sudo locale-gen en_US.UTF-8

кроме того, как Анкит пишет в своем ответ:

export LC_ALL=C

может работать (в текущем сеансе, или в вашем .профиль.)


хотя установка lc_ctype в пустое значение работала для меня, основной причиной было то, что терминал приложения на моем Mac устанавливал локали при запуске, даже когда я SSH в другую систему.

Это можно исправить в терминале > настройки:

  • выберите вкладку "профили" и выберите "дополнительно" из вложенных вкладок
  • снимите флажок "установить переменные среды локали при запуске"

Если вы хотите исправить это, установите переменную" LC_ALL " вручную.

чтобы сделать его постоянным, просто отредактируйте файл "/etc / environment " и добавьте строку:

LC_ALL=C

сохраните файл и выйдите из редактора. Для того чтобы подать заявку вы должны выйти из текущего сеанса оболочки. При следующем входе в систему проблема с SVN исчезнет.


настройки LC_ALL и LANG не работали для меня, но LC_CTYPE сделал.

LC_CTYPE=en_US.UTF-8

On Debian Jessie:

Я побежал:

sudo dpkg-reconfigure locales

добавлена и установлена отсутствующая локаль. Потом сработало.


комментируя строки с SendEnv LANG LC_* in /etc/ssh / ssh_config помогает мне (openSUSE)


это вызвано отсутствием надлежащих локалей, созданных в вашей системе.

раскомментировать строки, которые вы хотите поддерживать в /и др./Язык.ген!--5-->

например:

en_GB.UTF-8 UTF-8
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8

и затем запустить sudo locale-gen


У нас была эта проблема и в нашей компании, при использовании IntelliJ. Мой коллега только что починил.

для нас проблемой была линия SendEnv LANG LC_* на /etc/ssh/ssh_config. Когда я прокомментировал эту строку, все сработало отлично.


для iTerm2:

Профили → Открытые Профили ... → Редактировать Профили ... → Терминал → Unckeck установите переменные локали автоматически


Я обнаружил, что объединение нескольких ответов дает правильное поведение.

  1. мы должны установить поддержку для правильной локали (localadm для sunos, locale-gen для linux)
  2. мы должны установить LC_ALL в соответствующую локаль

Это зависит от того, какие имена файлов Вы имеете в исходном дереве. Например, у меня есть английский, иврит и арабский. язык.UTF-8 работает для меня " C " на своем собственном привело к файлам, которые я не мог обновить.


У меня возникла проблема при подключении к удаленному ssh-серверу (ssh используется командой svnserve - > svn update).

причина в том, что удаленный сервер не имеет доступного языкового пакета, который установлен в $LANG на локальном сервере.

вы можете проверить установленные языковые пакеты с помощью "locale-a". Язык $LANG должен быть настроен на удаленном сервере.

Э. Г.

локальный сервер: LANG=en_US.UTF-8

удаленный сервер: locale - a - > только de_DE.UTF-8 доступен

разрешение: просто установите отсутствующий языковой пакет на удаленном сервере: dpkg-перенастроить локали;

btw: выбранный язык по умолчанию не имеет значения.