Jak naprawić ostrzeżenie o ustawieniach regionalnych z Perla
Kiedy biegnę perl
, dostaję Ostrzeżenie:
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").Jak to naprawić?
30 answers
Twój OS nie wie o en_US.UTF-8
.
Nie wspomniałeś o konkretnej platformie, ale mogę odtworzyć twój problem:
% uname -a OSF1 hunter2 V5.1 2650 alpha % perl -e exit perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
Zgaduję, że użyłeś ssh do połączenia ze starszym hostem z nowszego komputera stacjonarnego. Często /etc/ssh/sshd_config
zawiera
AcceptEnv LANG LC_*
, która pozwala klientom propagować wartości tych zmiennych środowiskowych do nowych sesji.
Ostrzeżenie daje podpowiedź o tym, jak go squelch, jeśli nie wymaga pełnego locale:
% env LANG=C perl -e exit %
Lub z Bash:
$ LANG=C perl -e exit $
Aby uzyskać stałą poprawkę, wybierz jedną z
- na starszym komputerze Ustaw zmienną środowiskową
LANG
w pliku inicjalizacyjnym powłoki. - zmodyfikuj środowisko po stronie klienta, np., zamiast
ssh hunter2
użyj poleceniaLANG=C ssh hunter2
. - jeśli masz uprawnienia administratora, zatrzymaj ssh od wysyłania zmiennych środowiskowych, komentując linię
SendEnv LANG LC_*
w local/etc/ssh/ssh_config
Plik. (Dzięki ta odpowiedź . Zobacz Bug 1285 Dla OpenSSH aby dowiedzieć się więcej.)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-04 18:15:01
Oto Jak to rozwiązać na Mac OS X v10.7 (Lion) lub Cygwin (Windows 10):
Dodaj następujące linie do pliku bashrc lub bash_profile na komputerze hosta:
# Setting for the new UTF-8 terminal support in Lion
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
Jeśli używasz z shell (zsh), Edytuj plik zshrc :
# Setting for the new UTF-8 terminal support in Lion
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-04 18:18:08
Jeśli tworzysz rootfs używając debootstrap, będziesz musiał wygenerować ustawienia regionalne. Możesz to zrobić uruchamiając:
# (optional) enable missing locales
sudo nano /etc/locale.gen
# then regenerate
sudo locale-gen
Ta końcówka pochodzi z https://help.ubuntu.com/community/Xen
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-03 21:27:06
Użycie:
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
Działa dla Debiana . Nie wiem dlaczego - ale locale-gen nie miał wyników.
Ważne! To tymczasowe rozwiązanie. Musi być uruchamiany dla każdej sesji.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-12-04 12:52:25
Ogólnie oznacza to, że nie ustawiłeś poprawnie ustawień regionalnych na swoim Linuksie.
Na Debianie lub Ubuntu, oznacza to, że musisz zrobić
$ sudo locale-gen $ sudo dpkg-reconfigure locales
Zobacz także Man locale-gen .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-23 15:24:26
Tylko dla użytkowników macOS i Mac OS X
Otrzymałem to samo ostrzeżenie podczas używania Git
Aby rozwiązać to Ostrzeżenie odznacz opcję Set locale environment variable on startup
i uruchom ponownie terminal. Poniżej zrzut ekranu przedstawia Moje ustawienia terminala.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55
Jest to prosta poprawka w Ubuntu. Musisz wygenerować Lokalizacje od podstaw, uruchamiając następujące polecenia z linii poleceń:
sudo locale-gen en_US en_US.UTF-8
sudo dpkg-reconfigure locales
To powinno utworzyć lokalizacje, a następnie je ponownie skonfigurować.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-08 23:11:34
Dodanie do /etc/environment
naprawiono problem dla mnie na Debianie i Ubuntu (oczywiście zmodyfikuj, aby dopasować ustawienia regionalne, których chcesz użyć):
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-12-04 12:53:01
Używam teraz tego:
$ cat /etc/environment
...
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
Następnie wyloguj się z sesji SSH i zaloguj się ponownie.
Stara odpowiedź:
Tylko to mi pomogło:
$ locale
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=en_US.UTF-8
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=
$ sudo su
# export LANGUAGE=en_US.UTF-8
# export LANG=en_US.UTF-8
# export LC_ALL=en_US.UTF-8
# locale-gen en_US.UTF-8
Generating locales...
en_US.UTF-8... up-to-date
Generation complete.
# dpkg-reconfigure locales
Generating locales...
en_AG.UTF-8... done
en_AU.UTF-8... done
en_BW.UTF-8... done
en_CA.UTF-8... done
en_DK.UTF-8... done
en_GB.UTF-8... done
en_HK.UTF-8... done
en_IE.UTF-8... done
en_IN.UTF-8... done
en_NG.UTF-8... done
en_NZ.UTF-8... done
en_PH.UTF-8... done
en_SG.UTF-8... done
en_US.UTF-8... up-to-date
en_ZA.UTF-8... done
en_ZM.UTF-8... done
en_ZW.UTF-8... done
Generation complete.
# exit
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.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=en_US.UTF-8
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-23 16:42:05
W Debianie, po długich poszukiwaniach, udało się.
Pierwszy:
sudo apt-get purge locales
Wtedy:
sudo aptitude install locales
I słynny:
sudo dpkg-reconfigure locales
Powoduje to przerwanie systemu locale, a następnie ponowne zainstalowanie locale i obniżenie wersji libc6 z 2.19 do 2.13, co jest problemem. Następnie ponownie konfiguruje lokalizacje.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-04 18:27:12
Ustawimy ustawienia regionalne, które nie zostaną wyłączone po ponownym uruchomieniu.
Najpierw otwórz plik Bash i edytuj go:
nano .bashrc
Dodaj te linie do pliku:
export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
Aktywuj zmianę, przeładowując Basha:
source ~/.bashrc
Wyniki testu:
locale
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-04 18:46:40
Jeśli używasz Mac OS X v10.10 (Yosemite) lub nowszego, aby połączyć się z serwerem Linux, możesz wykonać następujące kroki.
-
Zachowaj oryginalny plik/etc/ssh / SSHD-config
-
Załóż swoje~/.bash_profile
export LANG="en_US" export LC_ALL=$LANG.UTF-8
-
Run
dpkg-reconfigure locales
I wybierz " en_US.UTF-8"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-08 23:18:07
Dla Ubuntu użyj tego,
#export LANGUAGE=en_US.UTF-8
#export LC_ALL=en_US.UTF-8
#export LANG=en_US.UTF-8
#export LC_TYPE=en_US.UTF-8
U mnie zadziałało.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-04 18:43:21
Musisz odpowiednio skonfigurować locale w /etc/default/locale
, Wyloguj się, Zaloguj się , a następnie uruchom zwykłe polecenia
root@host:~# echo -e 'LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8' > /etc/default/locale
root@host:~# exit
local-user@local:~$ ssh root@host
root@host:~# locale-gen en_US.UTF-8
root@host:~# dpkg-reconfigure locales
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-14 17:38:53
sudo nano /etc/locale.gen
Odkomentuj lokalizacje, których chcesz użyć (np. en_US.UTF-8 UTF-8
):
Następnie uruchom:
sudo /usr/sbin/locale-gen
Źródło: Konfigurowanie Lokalizacji
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-04 18:26:23
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory
Rozwiązanie:
Spróbuj tego (uk_UA.UTF-8 to moje obecne ustawienia regionalne. Napisz swoje locale, na przykład en_US.UTF-8 !)
sudo locale-gen uk_UA.UTF-8
I to.
sudo dpkg-reconfigure locales
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-28 14:01:16
Dla mnie poprawiłem ten błąd edytując .plik bashrc , Dodawanie eksportu. Dodaj po początkowych komentarzach.
Dodaj obsługę języka.
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_TYPE=en_US.UTF-8
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-04 18:42:20
Dodanie poprawnego locale do ~/.bashrc
, ~/.bash_profile
, /etc/environment
i tym podobne rozwiąże problem, jednak nie jest to zalecane, ponieważ zastępuje ustawienia z /etc/default/locale
, co jest w najlepszym razie mylące i może prowadzić do tego, że lokalizacje nie są konsekwentnie stosowane w najgorszym.
Zamiast tego należy edytować /etc/default/locale
bezpośrednio, co może wyglądać mniej więcej tak:
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=en_US
Zmiana wejdzie w życie przy następnym zalogowaniu. Możesz uzyskać nowe locale w istniejącej powłoce poprzez sourcing /etc/default/locale
Jak to:
$ . /etc/default/locale
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-12-30 17:07:55
Dla każdego, kto łączy się z DigitalOcean lub innym dostawcą usług hostingowych w chmurze od iTerm2.aplikacja na macOS v10.13 (High Sierra) i uzyskanie tego błędu na niektórych komendach:
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 a fallback locale ("en_US.UTF-8").
To naprawiło problem dla mnie:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-04 18:35:27
Po zaakceptowanej odpowiedzi:
LANG = C SSH hunter2.
LC_ALL=C SSH hunter2
Po stronie klienta zrobił dla mnie sztuczkę.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-08 23:02:37
Z zsh ohmyzsh dodałem to do .zshrc
:
# You may need to manually set your language environment
LANGUAGE=en_US.UTF-8
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8
Poprzez usunięcie linii export LANG=en_US.UTF-8
Otworzyłem nową zakładkę i SSHed w, pracował dla mnie:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-25 11:02:13
Dla użytkowników Debiana, mam ten problem po modyfikacji ustawień regionalnych, aby zmienić język maszyny. Tak zrobiłem:
-
Modyfikuj .bashrc:
export LANG=fr_FR.UTF-8 export LC_ALL=fr_FR.UTF-8
-
Uncomment line
fr_FR.UTF-8
in fileetc/locale.gen
->sudo locale-gen
Aby wygenerować brakujący pakiet -
sudo update-locale
-
sudo dpkg-reconfigure locales
aby skonfigurować ustawienia regionalne nafr_FR.UTF-8
-
Dodaj dodatkowe linie do pliku
etc/default/locale
:LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 LC_TYPE=en_US.UTF-8
- Zrestartuj mój komputer i wszystko działa fine
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-06 06:31:41
Dodaj LC_ALL="en_GB.utf8"
do /etc/environment
i uruchom ponownie. To wszystko.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-08 23:13:41
Eksportuj zmienną
$ export LANGUAGE=en_US.UTF-8
$ export LC_ALL=en_US.UTF-8
$ export LANG=en_US.UTF-8
$ export LC_CTYPE=en_US.UTF-8
Następny bieg
$ sudo locale-gen
$ sudo dpkg-reconfigure locales
Po uruchomieniu dpkg-reconfigure locales
prosi Cię o wybranie ustawień regionalnych, wybierz en_US.UTF-8 . Jeśli uruchomisz to wybierając wszystkie lokalizacje, konfiguracja zajmie trochę czasu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-09-03 06:16:06
W moim przypadku, z Debianem 8.6 (Jessie), musiałem zmienić ustawienia w:
/etc/ssh/ssh_config` for `#AcceptEnv LANG LC_*
I
sshd_config
dla #SendEnv LANG LC_*
Następnie uruchom ponownie usługę {[3] }.
[[6]}W końcu zrobiłem:locale-gen en_US.UTF-8
i dpkg-reconfigure locales
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-04 18:32:33
Dodaj brakujące lokalizacje do pliku .bash_profile:
echo "export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8">>~/.bash_profile
Następnie źródło .bash_profile plik:
source ~/.bash_profile
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-04 18:37:05
Źródło problemu
Doświadczyłem tego, logując się z jednej maszyny do drugiej przez ssh
. Zdalna maszyna nie miała plików lokalnych, które miałem na lokalnej maszynie. Możesz albo wyłączyć przekazywanie ustawień regionalnych z lokalnego komputera do zdalnego komputera (w pliku /etc/ssh/sshd_config
usuń linię AcceptEnv LANG LC_CTYPE …
) lub zainstalować Ustawienia regionalne (zmiana nie jest w tym przypadku konieczna).
Instalowanie
On Fedora, Red Hat Linux , oraz CentOS użyłem
sudo dnf install langpacks-de
Dla pakietów języka niemieckiego (de). Wylogowałam się, weszłam i zadziałało.
Szukaj innych langpacków za pomocą
dnf search langpacks-
Zmiana / Aktywacja
Aby wymienić dostępne lokalizacje, których użyłem
localectl list-locales
I ustawić nowy
sudo localectl set-locale de_DE.utf8
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-04 18:51:28
Jak zawsze diabeł tkwi w szczegółach...
On Mac OS X v10.7.5 (Lion), aby naprawić jakiś błąd Django , w moim ~/.bash_profile
ustawiłem:
export LANG=en_EN.UTF-8
export LC_COLLATE=$LANG
export LC_CTYPE=$LANG
export LC_MESSAGES=$LANG
export LC_MONETARY=$LANG
export LC_NUMERIC=$LANG
export LC_TIME=$LANG
export LC_ALL=$LANG
I z kolei przez długi czas otrzymywałem to Ostrzeżenie podczas używania Perla.
Mój błąd! Jak zdałem sobie sprawę znacznie później, mój system jesten_US.UTF-8
!
Naprawiłem go po prostu zmieniając z
export LANG=en_EN.UTF-8
Do
export LANG=en_US.UTF-8
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-08 23:08:19
W moim przypadku było to wyjście:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_PAPER = "ro_RO.UTF-8",
LC_ADDRESS = "ro_RO.UTF-8",
....
Rozwiązaniem było:
sudo locale-gen ro_RO.UTF-8
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-08 23:10:15
Jeśli nie obchodzi cię problem z locale, możesz ustawić PERL_BADLANG=0
. Oczywiście może to skutkować nieprawidłową lokalizacją.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-04 14:36:23