Torsten Förtsch
IT System Development & Security
Kaum macht man's richtig, schon geht's, ;-)

>> Home >> Tipps & Tricks >> UTF-8 oder ISO8859

UTF-8 oder ISO8859

Seit Suse 9.0 wird als Standardkodierung UTF-8 benutzt. Für uns Deutsche ändert sich damit die Kodierung der Umlaute. Manchmal ist es jedoch nötig, Zeichen in der alten Kodierung einzugeben oder darzustellen.

Darstellung

Viele von uns benutzen sicher KDE. Ich schildere das Vorgehen anhand des KDE-Konsolenfensters. Andere Programme sollten sich ähnlich verhalten. Also, ich setze die Umgebungsvariable LANG auf C und starte dann mein Programm. Am einfachsten ist das in der Bash, wenn die Variablenzuweisung gleich auf der selben Kommandozeile gemacht wird. Dann gilt sie nämlich nur für das gerufene Programm und nicht für den Rest der Shell-Sitzung.

> LANG=C konsole &

Schon öffnet sich ein Fenster, in dem man gefahrlos per ssh auf einen älteren Rechner wechseln kann, der noch kein UTF-8 benutzt.

Eingabe

Gerade wollte ich auf meinem Suse 9.3 die ISDN Karte zum Faxen konfigurieren. Mit Yast schrieb ich also in /etc/capisuite/fax.conf u.a.

fax_headline="T. Förtsch"

Das Test-Fax das ich mir danach schickte, zeigte aber

veränderte Fax-Headline

Nun, offensichtlich versteht das Fax-System das in UTF-8 kodierte ö nicht. Also öffnete ich in einer mit LANG=C gestarteten Konsole eine SSH-Verbindung zu dem Suse-9.3-Rechner mit der ISDN-Karte. Im vi gelang es mir jedoch nicht gleich, das richtige ö einzugeben. Es wurden immer 2 Zeichen dargestellt. UTF-8 war also immer noch aktiv. Aufschluß brachte locale:

pelmen:~ # locale
LANG=
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

Ich musste also noch LC_CTYPE setzen, dann sollte es funktionieren. Also, ...

LC_CTYPE=C vi /etc/capisuite/fax.conf

... und, kaum macht man's richtig, schon geht's.