как исправить ошибку локали

как исправить ошибку локали

Я только что сделал новую установку ubuntu с помощью debootstrap. Когда я делаю sudo aptitude upgrade, я получаю это сообщение об ошибке:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_US:en",
    LC_ALL = (unset),
    LANG = "en_US.ISO-8859-1"
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

Может кто-нибудь подскажет, как решить эту проблему? Я вижу много сообщений, похожих на это, в сети, но ни одно из них, похоже, не решает проблему.

Я использую Ubuntu 14.04 LTS. Спасибо.


К вашему сведению:

$ locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.iso88591
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX

и

$ locale
LANG=en_US.ISO-8859-1
LANGUAGE=en_US:en
LC_CTYPE="en_US.ISO-8859-1"
LC_NUMERIC="en_US.ISO-8859-1"
LC_TIME="en_US.ISO-8859-1"
LC_COLLATE="en_US.ISO-8859-1"
LC_MONETARY="en_US.ISO-8859-1"
LC_MESSAGES="en_US.ISO-8859-1"
LC_PAPER="en_US.ISO-8859-1"
LC_NAME="en_US.ISO-8859-1"
LC_ADDRESS="en_US.ISO-8859-1"
LC_TELEPHONE="en_US.ISO-8859-1"
LC_MEASUREMENT="en_US.ISO-8859-1"
LC_IDENTIFICATION="en_US.ISO-8859-1"
LC_ALL=

решение1

Рабочий стол Ubuntu должен быть настроен на кодировку UTF-8. По какой-то причине ваша система пытается установить локаль latin1 en_US.ISO-8859-1. Вам действительно следует это изменить.

Возможно, действие происходит в /etc/default/locale.

Где бы это ни произошло, измените это на

LANG=en_US.UTF-8

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

решение2

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

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

Не забудьте запустить новую оболочку или вручную source ~/.bash_profile.

решение3

Не debootstrapсоздает локаль. Поэтому мы используем что-то другое в качестве локали. Используйте эту команду:

sudo locale-gen en_US.ISO-8859-1

Надеюсь, это поможет!

решение4

Добавьте LC_ALL="en_US.UTF-8"и /etc/environmentперезапустите экземпляр/машину

Для получения дополнительной информации посетите этот блог

http://www.pixelninja.me/how-to-fix-invalid-locale-setting-in-ubuntu-14-04-in-the-cloud/

Связанный контент