Wie ändere ich mein Gebietsschema in CentOS auf UTF-8?

9

Hier ist die Ausgabe von locale:

LANG=zh_CN.GBK
LC_CTYPE="zh_CN.GBK"
LC_NUMERIC="zh_CN.GBK"
LC_TIME="zh_CN.GBK"
LC_COLLATE="zh_CN.GBK"
LC_MONETARY="zh_CN.GBK"
LC_MESSAGES="zh_CN.GBK"
LC_PAPER="zh_CN.GBK"
LC_NAME="zh_CN.GBK"
LC_ADDRESS="zh_CN.GBK"
LC_TELEPHONE="zh_CN.GBK"
LC_MEASUREMENT="zh_CN.GBK"
LC_IDENTIFICATION="zh_CN.GBK"
LC_ALL=

Wie kann ich sie alle ändern UTF8? Wie kann ich die Gebietsschemaeinstellung in CentOS 5.5 beibehalten?

Gebietsschema
quelle

Antworten:

12

Versuchen Sie es in CentOS mit dem Befehl system-config-language. Das ist der CentOS-Weg :) Sie können auch versuchen mit:

localedef -c -f UTF-8 -i en_US en_US.UTF-8
export LC_ALL=en_US.UTF-8
boris quiroz
quelle
wozu localedef -c -f UTF-8 -i en_US en_US.UTF-8?
Gebietsschema
Es wird verwendet, um Ihr Gebietsschema für en_US und en_US.UTF-8 zu definieren
boris quiroz
5

Red-Hat-ähnliche Distributionen (Centos, SL) werden mit einer Datei geliefert

/ etc / sysconfig / i18n

welches standardmäßig enthält (naja, in meinem Fall)

LANG = "en_GB"

SYSFONT = "latarcyrheb-sun16"

Die obige Datei wird von /etc/profile.d/lang.sh bezogen

In meinem Fall wollte ich en_GB.UTF-8 in en_GB.iso88591 ändern, daher stellte ich fest, dass die „richtige“ Vorgehensweise darin bestand, / etc / sysconfig / i18n mit anzuhängen

CHARSET = "iso8895-1"

Sobald dies erledigt ist, sollte das Gebietsschema für jedes Konto im System lauten:

me @ wark: ~ $ locale

LANG = en_GB.UTF-8

LC_CTYPE = "en_GB.iso88591"

LC_NUMERIC = "en_GB.iso88591"

LC_TIME = "en_GB.iso88591"

LC_COLLATE = "en_GB.iso88591"

LC_MONETARY = "en_GB.iso88591"

LC_MESSAGES = "en_GB.iso88591"

LC_PAPER = "en_GB.iso88591"

LC_NAME = "en_GB.iso88591"

LC_ADDRESS = "en_GB.iso88591"

LC_TELEPHONE = "en_GB.iso88591"

LC_MEASUREMENT = "en_GB.iso88591"

LC_IDENTIFICATION = "en_GB.iso88591"

LC_ALL = en_GB.iso88591

DirtyPole
quelle
4

Meinst du in der aktuellen Sitzung oder dauerhaft?

Wenn Sie es nur in der aktuellen Shell benötigen, können Sie die LC_ALLVariable exportieren . Zum Beispiel:

export LC_ALL=en_US.UTF-8

Wenn Sie dies dauerhaft oder systemweit tun möchten, variiert dies von Verteilung zu Verteilung. Welches ist deines?

Eduardo Ivanec
quelle
meins ist centos 5.5.
Gebietsschema
Nur für die Sitzung, Wenn Sie das Element schließen, Nächste Anmeldung in LA_ALL = '' '
Liebe
1

Da Sie nach Ihrer Kodierung Chinesen vom Festland sind, benötigen Sie zunächst das chinesische Gebietsschema:

localedef -i zh_CN -c -f UTF-8 zh_CN.UTF-8

Dann können Sie Ihr Gebietsschema exportieren als:

export LANG=zh_CN.UTF-8

Wenn Sie dies systemweit konfigurieren möchten:

Ändern Sie /etc/locale.conf in:

LANG=zh_CN.UTF-8
LC_COLLATE=zh_CN.UTF-8

Die zweite Zeile enthält Regeln zum Vergleichen von Zeichenfolgen.

Oder für einen Benutzer können Sie es einfach in Ihr ~ / .bashrc oder ~ / .profile einfügen

Popolon
quelle
0

In CentOS 7 konnte ich die Standardsystemsprache durch Bearbeiten ändern

/etc/profile

Hier werden die folgenden Variablen gesetzt

export LANG="en_GB.utf8"
export LANGUAGE="en_GB.utf8"
export LC_ALL="en_GB.utf8"
Coxer
quelle