GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie installiere/ändere ich das Gebietsschema unter Debian?

Lösung 1:

Bearbeiten Sie /etc/default/locale und setze den Inhalt auf:

LANG="nl_NL.UTF-8"

Sie können überprüfen, welche Gebietsschemas Sie derzeit generiert haben mit:

locale -a

Sie können mehr generieren, indem Sie /etc/locale.gen bearbeiten und kommentieren Sie die Zeilen für die Gebietsschemata aus, die Sie aktivieren möchten. Dann können Sie sie generieren, indem Sie den Befehl ausführen:

locale-gen

Eine Liste der unterstützten Gebietsschemas finden Sie in /usr/share/i18n/SUPPORTED

Weitere Informationen sind im Debian-Wiki verfügbar.

Lösung 2:

Möglicherweise müssen Sie den locales installieren Paket. Dadurch werden Sie gefragt, welche Gebietsschemata generiert werden sollen. Wenn es bereits installiert ist, dann dpkg-reconfigure locales können Sie weitere Gebietsschemata generieren.

Lösung 3:

Die Antworten hier sind wie bei den meisten anderen unvollständig. Nachdem ich Informationen von einigen Stellen zusammengetragen hatte, funktionierte für mich Folgendes:(1) Sicherstellen, dass das gewünschte Gebietsschema verfügbar war (generieren, falls nicht), dann (2) gebietsschemabezogene Umgebungsvariablen auf das gewünschte Gebietsschema setzen.

In meinem Fall brauchte ich en_US.UTF-8 programmgesteuert (d. h. nicht interaktiv) in einem Docker-Container installiert. Das ff hat erreicht, was ich brauche, aber es sollte in einer interaktiven Shell gut funktionieren.

apt-get update

# Install locales package
apt-get install -y locales

# Uncomment en_US.UTF-8 for inclusion in generation
sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen

# Generate locale
locale-gen

# Export env vars
echo "export LC_ALL=en_US.UTF-8" >> ~/.bashrc
echo "export LANG=en_US.UTF-8" >> ~/.bashrc
echo "export LANGUAGE=en_US.UTF-8" >> ~/.bashrc

Auf derselben Shell müssen Sie source ~/.bashrc ausführen damit die env-Variablen sofort wirksam werden. Sie können überprüfen, ob das Gebietsschema korrekt konfiguriert wurde, indem Sie locale aufrufen .

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

Es gab viele Q&A-Einträge zu diesem Thema, aber nur wenige waren wirklich hilfreich. Gutschrift wem Ehre gebührt:

  • https://unix.stackexchange.com/a/247019/21289
  • https://perlgeek.de/en/article/set-up-a-clean-utf8-environment

Lösung 4:

Keine dieser Antworten funktionierte bei mir auf einem LXC-Container, der mit installiert wurde:

lxc-create -n sse-master -t download -n sse-master -- \
    -d debian -r jessie --arch i386

Ich habe immer die folgende Ausgabe von locale-gen erhalten , d.h. es werden keine Locales generiert (keine aufgelistet):

$ sudo locale-gen
Generating locales (this might take a while)...
Generation complete.

Ausführen von dpkg-reconfigure locales und die Auswahl einiger Gebietsschemas hat /etc/locale.gen nicht aktualisiert wie ich es erwartet hatte.

Als ich diese Datei jedoch manuell änderte und die gewünschten Gebietsschemas auskommentierte, dann locale-gen richtig funktioniert:

$ sudo locale-gen
Generating locales (this might take a while)...
  en_GB.UTF-8... done
  en_US.UTF-8... done
Generation complete.

Ich war auch in der Lage, Gebietsschemata manuell wie folgt zu generieren:

sudo localedef -i en_US -f UTF-8 en_US.UTF-8
sudo localedef -i en_GB -f UTF-8 en_GB.UTF-8

Aber das war keine dauerhafte Lösung:Ich fand das mit locale-gen ohne --keep-existing Option löscht alle diese manuell generierten Gebietsschemas, d. h. jedes Gebietsschema, das nicht in /etc/locale.gen aufgeführt (und unkommentiert) ist .

Lösung 5:

Für eine Webanwendung ist es möglicherweise besser, setlocale zu verwenden () innen des Programms, anstatt zu verlangen, dass das Standardgebietsschema des Systems entsprechend außerhalb festgelegt wird. Auf diese Weise gibt es weniger lose Enden.


Linux
  1. So installieren Sie R unter Debian 9

  2. So installieren Sie R unter Debian 10

  3. So ändern Sie den Hostnamen in Debian

  4. So installieren Sie MariaDB unter Debian 11

  5. So installieren Sie MySQL unter Debian 11

So installieren Sie Flectra unter Debian 10

So installieren Sie OpenNebula unter Debian 10

So installieren Sie Memcached unter Debian 10

Wie installiere ich ISPConfig unter Debian 10?

So installieren Sie Skype unter Debian 10

So installieren Sie Go unter Debian