2

У меня проблема с генерацией локалей на моем сервере (стабильная версия Debian 7.5 (Wheezy) (64 бита)). Когда я запускаю, как рут:

dpkg-reconfigure locales

И выберите en_US.UTF-8 , я получаю следующие журналы:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_GB:en",
    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
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_GB:en",
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "C"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_GB:en",
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "C"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
sh: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8)

Есть идеи почему?

Спасибо!

1 ответ1

2

Очевидно, в вашей среде есть LANGUAGE=en_GB:en , но вы не выбрали en_GB или другие варианты en для генерации (первая часть dpkg-reconfigure locales).

Возможно, вы использовали en_GB качестве старого значения по умолчанию, но теперь удалили его из списка локалей для генерации. Однако в вашей среде все еще есть старая настройка, поэтому Perl жалуется, что не может найти (старую) локаль. Это не проблема как таковая для англоговорящих людей, резервная локаль отлично читается, так что на самом деле это не проблема.

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

source /etc/default/locale

из твоей раковины.

Некоторые приложения могут не всегда иметь локализацию для вашей конкретной локали; в таких случаях запуск такого приложения может помочь следующим образом, так как локаль C всегда должна быть доступна:

env LC_ALL=C applicationname

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .