854 Stimmen

Wie man eine Locale-Einstellungswarnung von Perl behebt

Wenn ich laufe perl erhalte ich die Warnung:

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").

Wie kann ich es reparieren?

3voto

Stuart Cardall Punkte 1733

En Arch Linux mit einer britischen Tastatur und einem britischen Gebietsschema hatte ich folgenden Fehler:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.utf8"
  • Exportieren meiner Gebietsschemata in /etc/profile hat das Problem nicht behoben.

  • Ich habe das Problem jedoch durch Bearbeiten von /etc/locale.gen und ermöglicht auch die en_US.utf8 Gebietsschema, das perl zu finden, und das Laufen local-gen .

(Ich verwende pac-manager die eine ganze Reihe von perl Module von AUR also eine Neuinstallation perl in meinem speziellen Fall ein Ärgernis wäre).

3voto

Matthias Hryniszak Punkte 3063

Alle bisherigen Antworten sind falsch. Die Meldung ist eindeutig - fehlendes Gebietsschema. Die Lösung besteht darin, das entsprechende Gebietsschema hinzuzufügen. Dazu bearbeiten Sie die Datei /etc/locale.gen, entfernen das #-Zeichen vor der Locale, die als fehlend gemeldet wird, und geben dann den Befehl ein:

$ sudo locale-gen

Dadurch werden die in /etc/locale.gen angegebenen Gebietsschemata erzeugt und die Meldung wird nicht angezeigt.

3voto

java newbees Punkte 31

In meinem Fall, mit Debian 8.6 (Jessie), musste ich die Einstellungen ändern:

/etc/ssh/ssh_config` for `#AcceptEnv LANG LC_*

y

sshd_config para #SendEnv LANG LC_*

Starten Sie dann die ssh Dienstleistung.

Endlich habe ich es geschafft:

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

3voto

Craig Ringer Punkte 280068

Wenn Sie sich nicht um das Problem des Gebietsschemas kümmern, können Sie einstellen PERL_BADLANG=0 . Dies kann natürlich zu einer falschen Lokalisierung führen.

3voto

Rodislav Moldovan Punkte 1055

In meinem Fall war dies das Ergebnis:

LANGUAGE = (unset),
LC_ALL = (unset),
LC_PAPER = "ro_RO.UTF-8",
LC_ADDRESS = "ro_RO.UTF-8",
....

Das war die Lösung:

sudo locale-gen ro_RO.UTF-8

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X