[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: LC_ALL setzen



On 11.Dez 2002 - 09:24:27, Martin v. Löwis wrote:
> > Ok, so ganz stimmt meine Behauptung nicht. Man bekommt jedenfalls kein
> y
> > wenn man auf z drückt. Aber auf jeden Fall ist nach dem Umschalten auf
> C
> > meine Bash "kaputt", soll heißen bei der Eingabe eines ö wird ein Teil
> > des Promptes gelöscht. Hängt vermutlich mit der ansonsten aktiven
> UTF-8
> > locale zusammen.
> 
> Die bash benutzt die locale tatsächlich auch bei der Eingabe; über
> LC_CTYPE wird ermittelt, welchen Zeichensatz (CODESET) Du verwenden
> willst. Die Bytes, die von der Tastatur kommen, werden dann entsprechend
> dieses Zeichensatzes interpretiert. Wenn der LC_CTYPE "C" ist, dann ist
> der codeset ASCII, und die Bytes, die bei den Umlauttasten kommen, sind
> keine gültigen Zeichen mehr.

Aha, wieder was dazugelernt.

> Warum bash dann so darauf reagiert, ist mir nicht ganz klar: Eventuell
> beschließt die Shell, dass das gesetzte 8. bit das Meta-Bit ist, und
> interpretiert das ö als M-v (ö-128 == v); zumindest wenn das Terminal
> Latin-1 sendet. Sendet es UTF-8, kommt bei ö die Bytefolge \xc3 \xb6;
> ignoriert man hier die oberen Bits, kommt da M-C M-6 raus. Welche dieser
> Funktionen nun bewirken, dass ein Teil des Promptes gelöscht wird, weiß
> ich nicht.

Das gleiche Problem hatte man mit der bash aus woody (ich habe hier
sarge), wenn man von latin1 oder latin9 auf UTF-8 umgestellt hatte. Das
dürfte wohl ein Bug in der Bash sein.

Andreas

-- 
<Bluehorn> Ich glaube es nicht.  Hier werden gerade die Stühle weggeholt.
<Bluehorn> Die waren gemietet - bis gestern.  Genial.  Ein Büro ohne Stühle.
		-- #Debian.DE

Attachment: pgpm3zFs3Ht5P.pgp
Description: PGP signature


Reply to: