Как мне исправить настройки локали на Ubuntu 12.04 LTS на моем линоде?

Моя установка Dropbox на моем линоде завершается с ошибкой:

ValueError: unknown locale: UTF-8

Когда я бегу:

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=

Похоже, что настройки LC_CTYPE и LC_ALL неверны. Как мне их исправить? Я пытался:

sudo update-locale LC_CTYPE=en_US.UTF-8

выход:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

Есть идеи, как это исправить?

РЕДАКТИРОВАТЬ: Я также попробовал это:

sudo dpkg-reconfigure locales

выход:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "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_ALL to default locale: No such file or directory
Generating locales...
  en_AG.UTF-8... up-to-date
  en_AU.UTF-8... up-to-date
  en_BW.UTF-8... up-to-date
  en_CA.UTF-8... up-to-date
  en_DK.UTF-8... up-to-date
  en_GB.UTF-8... up-to-date
  en_HK.UTF-8... up-to-date
  en_IE.UTF-8... up-to-date
  en_IN.UTF-8... up-to-date
  en_NG.UTF-8... up-to-date
  en_NZ.UTF-8... up-to-date
  en_PH.UTF-8... up-to-date
  en_SG.UTF-8... up-to-date
  en_US.UTF-8... up-to-date
  en_ZA.UTF-8... up-to-date
  en_ZM.UTF-8... up-to-date
  en_ZW.UTF-8... up-to-date
Generation complete.

Выполнение следующего, кажется, заставляет это работать. Но я, как я могу сделать это постоянным? Я сделал:

export LANGUAGE=en_US.UTF-8

2 ответа

У меня на Ubuntu 14.04 работало следующее (VPS @ Linode):

Отредактируйте /etc/environment и добавьте следующую строку:

LC_ALL="en_US.UTF-8"

Примечание: обратите внимание на точную ошибку. Убедитесь, что язык (о котором идет речь) был сгенерирован правильно, и установите соответственно: / etc / default / locale.

Я попробовал это, и это сработало для меня.

Я добавил в конец /etc/default/locale следующая строка:

LC_ALL="es_CL.UTF-8"

Чтобы повторить ошибку, попробуйте использовать perl: type perl в командной строке и ваша ошибка должна появиться (чтобы выйти из Perl нажмите CTRL+C). Затем измените файл, выйдите из системы (exit команда) и затем войдите снова; теперь попробуйте набрать perl и ошибка должна исчезнуть.

Другие вопросы по тегам