Как мне исправить настройки локали на 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
и ошибка должна исчезнуть.