# Profil amd64/2008.0/desktop und UTF-8

## DarkSpir

Hi alle zusammen,

ich kam gestern auf die Idee das Profil auf meinem Laptop mal auf ein Aktuelleres umzustellen. Heute früh sind mir dann nach dem Booten meine UTF-8 locales um die Ohren geflogen. Gleich beim Einloggen maulte fortune, dass perl die LC_CTYPE und Konsorten nicht finden kann und deshalb als default locale auf C umsteigt.

Gut,  in der /etc/env.d/02_locales stehen die Locales nach dem Muster LC_ALL="de_DE@euro.UTF-8" drin. in /etc/locale.gen gibt es dazu auch eine Zeile de_DE@euro UTF-8. Ein locale -a spuckt mir aber folgendes aus:

nanobox darkspir # locale -a

C

de_DE

de_DE@euro

de_DE.iso885915

de_DE.iso885915@euro

de_DE.utf8

de_DE.utf8@euro

en_US

en_US.iso885915

POSIX

Gut, da war dann erstmal klar, warum es zu diesen Fehlermeldungen kam. Ich habe in 02_locales die Einstellungen nach de_DE.utf8@euro angepasst und siehe da die Fehlermeldungen waren weg. Schulterzuckend hab ich dann mal die Settings in der locale.gen genauso umgestellt, aber das Script locale-gen weigerte sich die utf8-locales zu generieren mit der Meckermeldung, dass es die Dateien nicht findet. Mit der Notation UTF-8 funktioniert es tadellos, produziert aber utf8-locales.

Seriously, WTF?

Gut, ich hab mir dann gedacht, dass ich das erstmal nicht weiter hinterfrage, hab aber mal wieder nicht mit dem Schlimmsten gerechnet. Normalerweise habe ich mein Laptop auf der Arbeit laufend irgendwo unauffällig auf dem Schreibtisch stehen. Damit nicht auffällt, dass ich wärend der Arbeit nebenher noch ein paar Sachen mache, greife ich per putty auf das Laptop zu und lasse da dann irssi und finch laufen. Hier ist mir aufgefallen, dass Laptop und putty völlig unterschiedliche Auffassungen von UTF-8 haben, denn auf der Kommandozeile werden die Umlaute zwar richtig angezeigt, beim Löschen mit Backspace muss ich aber zweimal auf Backspace drücken, damit der Umlaut wieder weg ist. ein ütest-ENTER liefert bash: ütest: command not found zurück. ein ü-BACKSPACE-test-ENTER liefert ein bash: bash: ▒test: command not found zurück. Erst ein ü-BACKSPACE-BACKSPACE-test-ENTER liefert keinen Fehler mehr zurück. :/

irssi ersetzt jeden eingegebenen Umlaut mit ▒ und finch zeichnet sogar seine Rahmen mit diesem Zeichen.

Irgendwie mag ich mein funktionierendes Unicode-System zurück, mag aber nich wieder umbedingt auf Profil default-linux/amd64/2007.0 umswitchen und mein halbes System neu kompilieren. Jemand ne Idee was da falsch läuft?

----------

## Josef.95

Hallo,

die locale

```
de_DE.utf8@euro
```

gibt es meines Wissens so nicht!

Es muß

```
de_DE.utf8

oder

en_US.utf8
```

lauten  :Wink: 

EDIT:

Schau auch mal hier:

http://de.gentoo-wiki.com/Utf8

MfG

josef.95

----------

## DarkSpir

Okay, gleich mal ausprobieren. Wofür ist das @euro eigentlich? O.o

Edit:

@euro aus der locale.gen raus geworfen, locale-gen aufgerufen, /etc/env.d/02locales angepasst, gefolgt von env-update und source /etc/profiles. Ergebnis: Die neue locale wurde erzeugt und brav gefressen, aber der Fehler besteht nach wie vor.

Mich wundert es nach wie vor, dass ich in der locale.gen eine UTF-8-locale eintrage. locale-gen zeigt auch definitiv an, dass es de_DE.UTF-8 erzeugt. Wenn ich daraus de_DE utf8 mache, bekomme ich die Rückmeldung, dass die Datei utf8 nicht gefunden wurde. Funktioniert also nicht. Aber: Trotz UTF-8 heisst die erzeugte locale danach de_DE.utf8 und nicht de_DE.UTF-8. Serously, was zum Geier fliegt mir da grad um die Ohren?

Nebenbei, ich hab das Profil auf 2007.0 zurück gestellt und ein emerge -uD --newuse world läuft grad durch. Ich hoffe, dass meine Locales danach wieder normal funktionieren. Mir ist klar, dass Gentoo per se ein Bastelsystem ist, aber man kanns echt übertreiben... o.o"

----------

## Josef.95

Warum gehst du denn nicht mal in Ruhe die Wiki durch?

Im Wiki ist es doch wirklich alles sehr schön erklärt  :Evil or Very Mad: 

----------

## DarkSpir

Okay, das Wiki erklärt mir auch nicht warum aus UTF-8 plötzlich utf8 wird (und warum ich die locales nur mit UTF-8 generieren kann und nicht konsequenterweise auch mit utf8), aber: Ich habe den Fehler entdeckt.

/etc/locale.gen

Streiche de_DE@euro UTF-8

Ersetze durch de_DE.UTF-8 UTF-8

Ich stelle bewusst nicht die Frage wie das vorher funktionieren konnte... :/

----------

