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