[Python-de] Merkwuerdiges bei "umlaut".upper()

"Martin v. Löwis" martin at v.loewis.de
Die Mai 24 21:21:24 CEST 2005


Dinu Gherman wrote:
> Das ist vermutlich ein Teil des Problems. Ich hatte mich schon ge-
> wundert, warum meine Terminal-Eingaben anscheinend in UTF-8 waren.
> Tatsache ist, die Standard-Codierung findet man sehr wohl heraus,
> die steht in ~/Library/Preferences/com.apple.Terminal.plist

Korrekt. Wie Du aber ausführst, kann man das ändern - und dann kann
man fast ebensogut UTF-8 als Default annehmen, wie diese Datei zu
lesen: man kann falsch raten.

> Kniffliger wird es, wenn man fuer ein bestimmtes, geoeffnetes Fen-
> ster eine solche Einstellung aendert. Dann kann ein Programm wohl
> wirklich nur per AppleScript an die Einstellungen kommen.

Nein, nicht mal das. Viele Einstellungen sind über Applescript
abfragbar (etwa die Farben), aber nicht die Kodierung des aktuellen
(oder irgendeines) Fensters.

Abgesehen davon kann man AppleScript nur von pythonw aus ausführen
(python.exe müsste also osascript beim interaktiven Start ausführen,
was auch ein Hack wäre).

Ich wünschte, es gäbe einen ioctl auf /dev/tty, der mir das aktuelle
Encoding liefert. Ok wäre es auch, wenn Terminal.app für die Shell
eine Umgebungsvariable setzt (obwohl die dann ja auch keine Änderungen
mitbekommt - vielleicht kann man zusätzlich verbieten, dass die
Kodierung im laufenden Fenster geändert wird).

> Ja, man koennte auch die Standardeinstellungen im Hintergrund temporaer
> andern und ein neues Fenster aufmachen... Vielleicht geht ja wenigstens
> so etwas mit AppleScript. Wer sich das nur ausgedacht hat, eine Art Pro-
> grammiersprache fuer Nicht-Programmierer...

Manche sagen, es ist die einzige "read-only"-Programmiersprache (mit
Perl als dem Standardbeispiel für eine write-only-Sprache).

Ciao,
Martin