Как исправить проблему с локалью?

Я получаю это сообщение каждый раз, когда делаю что-то вроде запуска или остановки службы.

perl: warning: Setting locale failed.   
perl: warning: Please check that your locale settings:   
        LANGUAGE = "en_US:en",   
        LC_ALL = (unset),   
        LC_MESSAGES = "en_US.UTF-8",   
        LANG = "en_US.UTF-8"   
    are supported and installed on your system.   
perl: warning: Falling back to the standard locale ("C").   
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   
(Reading database ... 21173 files and directories currently installed.)  
Removing bind9 ...  
 * Stopping domain name service... bind9                                        [ OK ]
Processing triggers for man-db ...   
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   

Как исправить эту ошибку?

Комментарии к вопросу (3)
Решение

Сначала запустите locale, чтобы перечислить локали, которые в настоящее время определены для текущей учетной записи пользователя:

$ locale
LANG=C
LANGUAGE=
LC_CTYPE=fi_FI.UTF-8
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE=fi_FI.UTF-8
LC_MONETARY="C"
LC_MESSAGES=fi_FI.UTF-8
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

Затем создайте недостающую локаль и перенастройте локали с учетом этого:

$ sudo locale-gen "en_US.UTF-8"
Generating locales...
  en_US.UTF-8... done
Generation complete.

$ sudo dpkg-reconfigure locales
Generating locales...
  en_US.UTF-8... up-to-date
Generation complete.

Теперь вы больше не увидите никаких ошибок!

Комментарии (15)

Ничего не предлагалось выше работали в моем случае (сервер Ubuntu 12.04 ЛТС). Что в итоге помогло положить в файл/etc/окружающей среды:

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

Почему-то отсутствует. Выходы для локали и других команд появился бы переменные были правильно определены. Иными словами Дон'т брать на веру все базовые вещи объявляется, где он должен быть объявлен.

Комментарии (14)

Они должны исчезнуть после выдачи:

sudo locale-gen en_US en_US.UTF-8
sudo dpkg-reconfigure locales 

dpkg-reconfigure изменяет конфигурацию пакетов после того, как они уже были установлены. Передайте ему имена пакета или пакетов, которые нужно переконфигурировать. Он будет задавать вопросы о конфигурации, как и в случае, когда пакет был впервые установлен.

Комментарии (11)

Просто добавьте следующее в ваш файл .bashrc (если вы используете bash)

export LC_ALL="en_US.UTF-8"
Комментарии (5)

Это общая проблема при подключении удаленно, поэтому решение не вперед свой язык. Редактирование файла /etc/СШ/файле sshd_config и закомментировать линия SendEnv Lang и LC_*.

Комментарии (8)

Есть команда для этого:

sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8

Это обновления `/и т. д./По умолчанию/язык с значения.

Комментарии (4)

Что работал для меня на 12.10 было это:

apt-get install language-pack-en-base  

Это было после команды dpkg-перенастроить районов не дало никаких результатов.

Комментарии (6)

Дон'т забыть выйти из SSH сессии (или Х11), выйдя и войдя снова. Все эти предложения не't работа для меня, пока я не вошел еще в....

Комментарии (1)

Для Ubuntu 12.10 ни один из выше работал, за исключением ratzs' решения. Я рекомендую добавить это в файл /etc/Баш.файл bashrc:

export LC_ALL="en_ZA.UTF-8"
export LC_CTYPE="en_ZA.UTF-8"
Комментарии (1)

Я застрял в странном состоянии, когда моей локальной машине установлен в ЕС так и на удаленной машине (через бродяга) был подготовлен в ООН заниматься государство. Поэтому мне пришлось использовать экспорт по эксплуатации = только для облегчения успешного команды dpkg-перенастроить. После этого система нормально.

export LC_ALL="en_US.UTF-8"
sudo dpkg-reconfigure locales
Комментарии (1)

Я написал скрипт для исправления вышеуказанной проблемы.Вышеуказанные ответы полезны, но устанавливать локаль переменных путем простого экспорта значений в переменной оболочки будет работать только на сессии. Я окончательно решена эта проблема путем экспорта переменные локали в .файл bash_profile. Вы также можете использовать файл/etc/профиль "вместо".файл.

echo "export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8">>~/.bash_profile

Дон'т забыть источника в `.файл и следовать скрипт в легкой установки.

Комментарии (0)

Вы можете попробовать:

export LANGUAGE=ru_RU.UTF-8
export LC_CTYPE=ru_RU.UTF-8
export LC_NUMERIC=ru_RU.UTF-8
export LC_TIME=ru_RU.UTF-8
export LC_COLLATE=ru_RU.UTF-8
export LC_MONETARY=ru_RU.UTF-8
export LC_MESSAGES=ru_RU.UTF-8
export LC_PAPER=ru_RU.UTF-8
export LC_NAME=ru_RU.UTF-8
export LC_ADDRESS=ru_RU.UTF-8
export LC_TELEPHONE=ru_RU.UTF-8
export LC_MEASUREMENT=ru_RU.UTF-8
export LC_IDENTIFICATION=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8

где нет выше идеи, как` это код страны.

Комментарии (0)

Ток ответа не достаточны для устранения стратегии, потому что вы можете иметь ошибки человека. Вам настроить вашу систему к язык но вы en_GB включен в/etc/язык.ген, как у меня в теме [здесь][1] для Raspberry Пи 3б. Вы должны иметь **все** использованные районов включена в/etc/язык.Гэнь.

Я en_GB.В UTF-8 кодировке UTF-8только в/etc/язык.Гэнь. Я должна была есть только язык.В UTF-8 кодировке UTF-8, потому что другие команды бежать. Так я прокомментировал ГБ и раскомментировали нас, и все работает теперь

masi@raspberrypi:~ $ sudo vim /etc/locale.gen

masi@raspberrypi:~ $ sudo locale-gen 
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

masi@raspberrypi:~ $ sudo a2enmod rewrite && a2enmod headers && a2enmod ssl
Module rewrite already enabled
Module headers already enabled
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Module socache_shmcb already enabled
Module ssl already enabled

Теперь, я не получаю эти ошибки язык с любыми командами.

Системы: Raspbian Джесси Оборудование: малина Пи 3б

Комментарии (0)

Как сказал Здесь в Вики Debian, Вы можете отредактировать файл/etc/язык.Гэнь и добавить всех языков (или раскомментировать их, у меня был список всех локалей, но всем, кроме того я использовал в качестве комментариев) вы хотите иметь поддержку в системе. Затем выполните

sudo dpkg-reconfigure locales

чтобы обновить локали в системе. Теперь всех районов вы добавили/раскомментировать в файле/etc/язык.Гэнь доступны на вашей системе без каких-либо предупреждений.

Комментарии (0)

Если вы используете окружения KDE, проверьте файл setlocale.sh в~/.кде/ОКР/`:

$ cat ~/.kde/env/setlocale.sh 
export LANG=en_US.UTF-8
export LANGUAGE=en_US:ru:en
Комментарии (1)

Добавляем следующий текст в `~/.профиль работает для меня:

export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

Я использую Ubuntu 16.04 LTS 64-разрядный сервер на Linode гарантийное.

Комментарии (0)

Это работало для меня, когда я была такая же проблема (на основании решения предусмотренном дман):

sudo sh -c "echo -e 'LC_ALL=en_US.UTF-8\nLANG=en_US.UTF-8' >> /etc/environment"
Комментарии (2)
  1. Возможно, Вам потребуется запустить судо команды dpkg-перенастроить также для приложения, которое вы установили, а на "язык" и настройки недействительные / не соответствует.

В то время как язык системы был неправильно установки я установил ВИМ. Позже, когда язык системы был зафиксирован я видел такую ситуацию, что ВИМ показывает символы UTF-8 неправильно, как непонятные символы, а "нано" и "меньше" были показаны их правильно. Работает

судо команды dpkg-перенастроить ВИМ

появился, чтобы исправить проблему после настройки системы были исправлены.

  1. Я тоже заметил то же самое, что уже упоминалось: вы можете отключить/подключить SSH, чтобы сделать видимыми изменениями.
Комментарии (0)