Jak naprawić ostrzeżenie o ustawieniach regionalnych z Perla?

595

Kiedy biegnę perl, pojawia się ostrzeżenie:

perl: ostrzeżenie: Ustawienie regionalne nie powiodło się.
perl: ostrzeżenie: Sprawdź, czy ustawienia regionalne:
    JĘZYK = (rozbrojony),
    LC_ALL = (nieustawiony),
    LANG = „en_US.UTF-8”
są obsługiwane i zainstalowane w twoim systemie.
perl: ostrzeżenie: Powrót do standardowych ustawień regionalnych („C”).

Jak to naprawić?

Xain
źródło
Co się stało, gdy sprawdziłeś ustawienia regionalne, takie jak komunikat o błędzie?
brian d foy
3
zamiast instalować ustawienia regionalne, możesz także zmienić ustawienia regionalne. Na moim Ubuntu jest to zrobione dla jednego użytkownika przez edycję~/.pam_environment
Janus Troelsen
Na moim ODROID-C1 z systemem Ubuntu problemem był rzeczywiście plik ~ / .pam_environment. Niektóre zmienne to es_US.UTF-8 zamiast en_US.UTF-8. Dziękuję Ci.
f1vefour
Mam to na Cygwin \ Babun. Naprawiła go tylko ponowna instalacja Perla.
Lucas Soares

Odpowiedzi:

449

Twój system operacyjny nie wie o tym en_US.UTF-8.

Nie wspomniałeś o konkretnej platformie, ale mogę odtworzyć Twój problem:

% uname -a
OSF1 hunter2 V5.1 2650 alfa
Wyjście% perl -e
perl: ostrzeżenie: Ustawienie regionalne nie powiodło się.
perl: ostrzeżenie: Sprawdź, czy ustawienia regionalne:
    LC_ALL = (nieustawiony),
    LANG = „en_US.UTF-8”
    są obsługiwane i zainstalowane w twoim systemie.
perl: ostrzeżenie: Powrót do standardowych ustawień regionalnych („C”).

Domyślam się, że użyłeś ssh do połączenia się ze starszym hostem z nowszej maszyny stacjonarnej. Często /etc/ssh/sshd_configzawiera

AcceptEnv LANG LC_*

co pozwala klientom propagować wartości tych zmiennych środowiskowych do nowych sesji.

Ostrzeżenie daje podpowiedź, jak je zmiażdżyć, jeśli nie potrzebujesz pełnych ustawień regionalnych:

% env LANG = C perl -e wyjście
%

lub z bash:

$ LANG = C perl -e wyjście
$ 

Aby uzyskać stałą poprawkę, wybierz jedną z opcji

  1. Na starszym hoście ustaw LANGzmienną środowiskową w pliku inicjującym powłokę.
  2. Zmodyfikuj swoje środowisko po stronie klienta, np. Zamiast ssh hunter2używać polecenia LANG=C ssh hunter2.
  3. Jeśli masz uprawnienia administratora, powstrzymaj ssh przed wysyłaniem zmiennych środowiskowych, komentując SendEnv LANG LC_*wiersz w pliku lokalnym /etc/ssh/ssh_config . (Dzięki tej odpowiedzi . Zobacz Bug 1285 dla OpenSSH, aby uzyskać więcej.)
Greg Bacon
źródło
22
Dzięki! Miałem ten komunikat o błędzie podczas łączenia się z git na mój serwer. Po dodaniu de_CH.UTF-8 (nie był tam obsługiwany, ale używany lokalnie) z dpkg-reconfigure localeskomunikatem zniknął.
Simon A. Eugster,
82
Miałem ten problem od wieków ... usunięcie „AcceptEnv LANG LC_ *” z sshd_config w końcu go rozwiązało. Dzięki za podpowiedź!
madc
2
@Greg Bacon, czy nie byłoby też przypadków, w których chciałbyś ustawić zmienne środowiskowe w całym systemie, na przykład poprzez utworzenie pliku środowiska / etc /? help.ubuntu.com/community/…
fraxture
25
@HermannIngjaldsson, przynajmniej na Ubuntu (12.10), nie było potrzeby restartowania serwera (po usunięciu „AcceptEnv LANG LC_ *”). Właśnie przeładowałem ssh config:, service ssh reloadco zajmuje ułamek sekundy i nawet nie powoduje zakończenia bieżącej sesji ssh.
noamtm
3
dołącz „eksport LC_ALL = C”, a następnie „source ~ / .bashrc” w systemie klienta, aby rozwiązać problem.
EffectiveMatrix
476

Oto jak rozwiązać ten problem w systemie Mac OS Lion (10.7) lub Cygwin (Windows 10):

Dodaj następujące wiersze 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 zsh, edytuj zshrc:

# Setting for the new UTF-8 terminal support in Lion
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8
Allen Bargi
źródło
6
Dzięki, szukałem rozwiązania tego problemu przez długi czas i zawsze myślałem, że jest to problem w mojej konfiguracji serwera Ubuntu, i wydawało się, że nie było rozwiązania, które pomogło (wszystkie te rzeczy związane z rekonfiguracją dkpg (
Teemu Kurppa
5
Ponieważ LC_ALLzastępuje wszystkie inne zmienne, wolałbym ustawić LANG=de_AT.UTF-8i indywidualne zmienne jak LC_MESSAGES=en_US.UTF-8. Jeśli zmienna nie jest ustawiona, wraca do LANG. Możesz także np. unset LC_CTYPEaby zmusić go do powrotu LANG.
David
4
Umieszczenie tych linii w .bashrc nie działało, ale bash_profile rozwiązało to! Musiałem utworzyć plik.
Hermann Ingjaldsson
5
Umieszczenie tych linii w ~/.bashrcrozwiązaniu go dla mnie ... to trzeba przeładować za pomocą source ~/.bashrc... Thnks <3
Enissay
5
Dzięki, działało to dobrze na ZSH i wtyczce oh-my-zsh pod Mac OS X El Capitan, na dole ~ / .zshrc: LC_CTYPE = en_US.UTF-8 LC_ALL = en_US.UTF-8
Valerio Schiavoni
207

Jeśli tworzysz rootfs za pomocą debootstrap, musisz wygenerować ustawienia narodowe. Możesz to zrobić, uruchamiając:

# (optional) enable missing locales
sudo nano /etc/locale.gen

# then regenerate
sudo locale-gen

Ta wskazówka pochodzi z https://help.ubuntu.com/community/Xen

Marc
źródło
28
To jest dla mnie prawdziwa poprawka.
Afriza N. Arief
5
locale-gen nie przyjmuje żadnych argumentów (przynajmniej w stabilnej wersji Debiana). Zamiast tego edytuj plik /etc/locale.gen, aby odkomentować wybrane ustawienia narodowe, a następnie uruchom sudo locale-gen
Sam Watkins
2
naprawionoUbuntu Server
Paschalis
5
W Debianie może być konieczne $ echo en_US UTF-8 >> /etc/locale.gennajpierw.
akhmed
1
Na Gentoo (przynajmniej) locale-gennie przyjmuje argumentów. Czyta z /etc/locale.gen.
Pistos
142

Posługiwać się:

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 gen locale nie przyniósł rezultatów.

Ważny! To rozwiązanie tymczasowe. Musi być uruchamiany dla każdej sesji.

artemn
źródło
13
Ten działał dla mnie. Właśnie włożyłem to do mojego .bashrcpliku.
Anirudh Ramanathan
2
Pracowałem też dla mnie. Musiałem tylko ustawić dwa ustawienia (LANGUAGE i LC_ALL), które pojawiły się nieustawione w ostrzeżeniach Perla
laurent
2
W systemie Debian local-genprzetwarza tylko te ustawienia narodowe, w których nie ma komentarza /etc/local.gen. Być może musisz to zrobić echo en_US UTF-8 >> /etc/locale.gennajpierw.
akhmed
działało to dla mnie na elementarnym systemie operacyjnym Freaya (opartym na Ubuntu)
valkirilov
1
LC_ C TYP może być?
mixel
139

Ogólnie oznacza to, że nie skonfigurowałeś poprawnie ustawień narodowych na swoim Linux-ie.

W systemie Debian lub Ubuntu oznacza to, że musisz to zrobić

$ sudo locale-gen
$ sudo dpkg-rekonfiguruj ustawienia regionalne

Zobacz także gen locale-człowieka .

Paul Tomblin
źródło
30
nie rozwiązuje tutaj problemu
Somatik
6
dpkg-rekonfiguruj ustawienia narodowe - naprawiłem problem dla mnie, debian 7.1
newUserNameHere
4
dpkg-rekonfiguracja ustawień narodowych kończy się niepowodzeniem z tymi samymi komunikatami o błędach ustawień regionalnych języka perl, które próbuje się naprawić w pierwszej kolejności !!!!
matteo
10
Działa to dla mnie w Ubuntu 14.04, chociaż najpierw musiałem dodać brakujące ustawienia narodowe zsudo locale-gen es_UY.UTF-8
alf
2
@matteo Tylko za pierwszym razem, zanim naprawi błąd. Spróbuj ponownie i powinno to zostać naprawione.
Zero3,
91

Tylko dla użytkowników macOS i Mac OS X.

Otrzymywałem to samo ostrzeżenie podczas korzystania z Git

Aby rozwiązać to ostrzeżenie Odznacz z Set locale environment variable on startupopcji i ponownym uruchomieniu terminala. Poniższy zrzut ekranu przedstawia moje ustawienia terminala.

wprowadź opis zdjęcia tutaj

Inder Kumar Rathore
źródło
3
Wow, takie proste i naprawiło moje problemy! Dzięki!
Michał
3
Próbowałem wszystkich innych, ale ten zrobił to dla mnie. Używam iTerm i ma tę samą opcję kodowania znaków.
Michael Morrison,
2
Niestety łamie to ZSH (tabulacja przestała działać)
Christian
1
To całkowicie rozwiązuje problem w systemie Mac OS. Nawiasem mówiąc, to zaczęło mi się dziać zaraz po aktualizacji do macOS Sierra. To rozwiązało dla mnie ten problem.
Paulo Malvar,
1
to naprawiło mój problem. zaczęło mi się to dziać po aktualizacji do Mac OS X High Sierra od Sierra.
Lucian Irimie
36

Jest to prosta poprawka w Ubuntu. Musisz wygenerować ustawienia regionalne od zera, uruchamiając następujące polecenia z wiersza poleceń:

sudo locale-gen en_US en_US.UTF-8
sudo dpkg-reconfigure locales

To powinno utworzyć ustawienia narodowe, a następnie je ponownie skonfigurować.

jfreak53
źródło
Działa to dobrze nawet przy użyciu pt_BR pt_BR.UTF-8- Dzięki.
Marcos Freitas
29

Dodanie następujących elementów, aby /etc/environmentnaprawić problem dla mnie w Debianie i Ubuntu (oczywiście zmodyfikuj, aby dopasować do ustawień regionalnych, 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
joscarsson
źródło
7
.. Dostałem ostrzeżenie, że ustawienie locale w /etc/environmentjest nieaktualne i powinno być ustawione /etc/default/locale. Oba wydają się na razie działać.
joscarsson
powinno byćLC_CTYPE
aexl
25

Teraz używam 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 pomogło mi:

$ 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
warvariuc
źródło
Bardzo mi to działało na Ubuntu 15.04, wielkie dzięki.
Goke Obasa,
22

na Debianie po wielu poszukiwaniach udało się.

pierwszy:

sudo apt-get purge locales

następnie:

sudo aptitude install locales

i słynny:

sudo dpkg-reconfigure locales

Spowoduje to usunięcie systemu ustawień regionalnych, a następnie ponowne zainstalowanie ustawień regionalnych i obniżenie poziomu libc6 z 2.19 do 2.13, co jest problemem. Następnie ponownie konfiguruje ustawienia narodowe.

tkjef
źródło
4
dpkg-reconfigure localesjest wszystkim, czego potrzeba. sudojeśli jesteś typem sudo lub zrób to jako root. Następnie wybierz ustawienia regionalne zgodnie z tym, co masz w środowisku powłoki.
mknaf
6
dpkg-rekonfiguruj ustawienia regionalne POWINNY być wszystkim, czego potrzeba. Po wypróbowaniu tego 100 razy i rozejrzeniu się po Internecie i to wszystko, co widziałeś, a problem nadal nie rozwiąże się sam, wypróbuj powyższe. Potem wróć i głosuj za tym. :)
tkjef
1
wreszcie odpowiedź na ten problem bez hackowania, zdecydowanie powinna być zaakceptowana!
php_nub_qq
17

To jest szybka odpowiedź. Ustawimy ustawienia narodowe, które nie zostaną rozbrojone 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ę poprzez przeładowanie bash:

source ~/.bashrc

Wyniki testów :

locale
Alouani Younes
źródło
Jedyny, który dla mnie działa, Raspbian i serwer Ubuntu 16.04 :)
Liso
13

W przypadku 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

Pracował dla mnie.

Amjith
źródło
Działa to również dla mnie, usuwając całą zawartość pliku /etc/default/localei umieszczając tylko definicję zmiennych (usuwając eksport słów) i ponownie uruchamiając serwer
Edenshaw
12

Jeśli używasz systemu Mac OS X 10.10 (Yosemite) lub nowszego do łączenia się z serwerem Linux, możesz spróbować wykonać następujące czynności.

  1. Zachowaj oryginalny plik / etc / ssh / sshd-config

  2. Umieść swój ~ / .bash_profile

    export LANG="en_US"
    export LC_ALL=$LANG.UTF-8
  3. Biegać

    dpkg-reconfigure locales

    I wybierz „en_US.UTF-8”

dsandrade
źródło
10
sudo nano /etc/locale.gen

Odkomentuj ustawienia regionalne, których chcesz używać (np en_US.UTF-8 UTF-8 ):

Następnie uruchomić:

sudo /usr/sbin/locale-gen

Źródło: http://people.debian.org/~schultmc/locales.html

Thomas Jensen
źródło
Firma, dla której pracuję w USA, obsługuje serwer git, który ma międzynarodowych klientów. Tłum GB skarżył się, że ich klony git nad ssh będą miały problemy z powodu różnic regionalnych. To zastosowane na serwerze naprawiło dla nich ten problem.
Therealstubot
10

Musisz odpowiednio skonfigurować ustawienia regionalne /etc/default/locale, wylogować się, zalogować , a następnie uruchomić 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
glarrain
źródło
4
te kroki zadziałały dla mnie (serwer Ubuntu 14.04). głównym celem było wylogowanie i ponowne zalogowanie.
liberborn,
9
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 moja bieżąca lokalizacja. Napisz swoją lokalizację, na przykład en_US.UTF-8 !)

sudo locale-gen uk_UA.UTF-8

i to.

sudo dpkg-reconfigure locales
bogdanvlviv
źródło
Dziękuję, to rozwiązało mój problem, po zrobieniu tego i ponownej instalacji.
madprops
8

dla mnie naprawiam ten błąd podczas edycji eksportu pliku .bashrc. Dodaj po wstępnych 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

Z poważaniem,

LandiLeite
źródło
6

Dodanie do prawidłowego ustawienia regionalne ~/.bashrc, ~/.bash_profile, /etc/environmenta jak będzie rozwiązać ten problem, jednak nie jest zalecane, ponieważ zastępuje ustawienia z /etc/default/locale, co jest mylące najlepiej i może prowadzić do lokalizacjach nie są stosowane konsekwentnie w najgorszym.

Zamiast tego należy edytować /etc/default/localebezpośrednio, co może wyglądać mniej więcej tak:

LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=en_US

Zmiana zacznie obowiązywać przy następnym logowaniu. Możesz uzyskać nowe ustawienia regionalne w istniejącej powłoce, korzystając z następujących źródeł /etc/default/locale:

$ . /etc/default/locale
Nuvanda
źródło
1
po tym kroku należy ponownie uruchomić system
Ghanshyam Bagul
Możesz po prostu skomentować w wybranej lokalizacji w „/etc/locale.gen”, a następnie uruchomić:locale-gen
Dave Everitt
5

Dla każdego łączącego się z DigitalOcean lub innym dostawcą hostingu w chmurze z iTerm2.app na MacOS High Sierra i otrzymującym ten błąd w przypadku niektórych poleceń:

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 rozwiązało problem:

wprowadź opis zdjęcia tutaj

Wiem, że ten wątek jest stary, ale może ktoś uzna to za przydatne. Wiem, jak to może być denerwujące.

Blago Eres
źródło
Tak, to było to ustawienie w iterm2! Dzięki!
Brian Olsen,
4

Po zaakceptowanej odpowiedzi:

LANG = C ssh hunter2.

LC_ALL = C ssh hunter2

po stronie klienta wykonał dla mnie lewę.

Alex Kosenkov
źródło
Pracował dla mnie na OSX 10.10.3, podczas gdy tylko „LANG = C” nie wystarczyło. Dzięki Alex!
Christian
4

W przypadku 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

Usuwając linię export LANG=en_US.UTF-8

Ponownie otworzyłem nową kartę i SSHed, działało dla mnie :)

Joseph Briggs
źródło
3

Dodaj LC_ALL="en_GB.utf8"do /etc/environmenti uruchom ponownie. To wszystko.

zires
źródło
2

Jak zawsze diabeł tkwi w szczegółach ...

W systemie Mac OS X 10.7.5 (Lion), aby naprawić błąd Django , ~/.bash_profileustawił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 otrzymałem to ostrzeżenie, używając Perla.

Mój błąd! Jak zauważyłem znacznie później, mój system jest en_US.UTF-8! Naprawiłem to po prostu, zmieniając z

export LANG=en_EN.UTF-8

do

export LANG=en_US.UTF-8
Luca Bonavita
źródło
2

Wszystkie poprzednie odpowiedzi są błędne. Komunikat jest jasny - brak ustawień regionalnych. Rozwiązaniem jest dodanie odpowiednich ustawień regionalnych. Robisz to, edytując plik /etc/locale.gen, usuń znak # przed ustawieniami narodowymi zgłaszanymi jako brakujące, a następnie wydając polecenie:

$ sudo locale-gen

To faktycznie wygeneruje ustawienia regionalne określone w /etc/locale.gen i dlatego komunikat nie zostanie wyświetlony.

Matthias Hryniszak
źródło
To jest po prostu odpowiedź i pracował nad starożytnym Debianie (6) dla mnie. Cała reszta jest zbyt skomplikowana i trochę nie na tropie.
Dave Everitt
2

w moim przypadku z debian8.6 musiałem zmienić ustawienia w:

/etc/ssh/ssh_config dla #AcceptEnv LANG LC_*

i sshd_config dla#SendEnv LANG LC_*

następnie uruchom ponownie usługę ssh.

w końcu zrobił

locale-gen en_US.UTF-8 i dpkg-reconfigure locales

java newbees
źródło
2

Dodaj brakujące ustawienia narodowe do .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 zdobądź swój .bash_profile

source ~/.bash_profile
Parinda Rajapaksha
źródło
1

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
Rodislav Moldovan
źródło
1

sshdomyślnie zastępuje zmienne regionalne LC. Zobacz /etc/ssh/sshd_config:

AcceptEnv LANG LC_*

Może więc musisz ustawić te zmienne w lokalnej powłoce.

garaboncias
źródło
1

Dla mnie na Ubuntu 16.04 (Xenial Xerus) działało:

root@host:~#locale-gen en_GB.UTF-8
root@host:~#localectl set-locale LANG=en_GB.UTF-8,LC_ALL=en_GB.UTF-8

Następnie uruchom ponownie ...

Aleksandar Pavić
źródło