Wenn ich mein Programm über die Eingabeaufforderung starte werden ä,ö,ü und ß immer nicht richtig angezeigt, sondern z.b. so: a³!
Kann ich das ändern und wenn ja wie?
Eingabeaufforderung
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Windows User?
Wenn ja, da musst du ASCII ausgeben:
unter Linux ist das natürlich nicht der Fall, da gehts auch ohne.
Wenn ja, da musst du ASCII ausgeben:
Code: Alles auswählen
#coding: utf-8
print u"Hällo Wörld".decode("utf-8").encode("ascii")
TUFKAB – the user formerly known as blackbird
-
- User
- Beiträge: 62
- Registriert: Donnerstag 17. November 2005, 16:25
Das dauert aber lange und ist ziemlich kompliziert! Geht das nicht noch anders und schneller?
In ASCII gibt's keine Umlaute, die Zeile gibt einen der beliebten `UnicodeEncodeError`.blackbird hat geschrieben:Windows User?
Wenn ja, da musst du ASCII ausgeben:
Code: Alles auswählen
#coding: utf-8 print u"Hällo Wörld".decode("utf-8").encode("ascii")

@Anfänger1911: In einer perfekten Welt müsste es ausreichen in der Quelltextdatei die Kodierung mit der entsprechenden Kommentarzeile anzugeben. Die Umgebung sollte dann dem laufenden Programm mitteilen welche Kodierung für die Ausgabe erwartet wird. Unter Linux klappt das auch. Keine Ahnung wie es da unter Windows bzw. DOS-Eingabeaufforderungen aussieht.
Zeichensatzkodierungen und Unicode sind auf jeden Fall ein Thema mit dem man sich auseinandersetzen muss, wenn man "nicht-englische" Zeichen verwendet. Ist leider auch ein recht verwirrendes Thema.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Hab selber mal ein Test gemacht:
Wenn man das in der cmd startet, sind die Umlaute OK.
Code: Alles auswählen
# -*- coding: latin-1 -*-
print u"test: äöüß"
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Nep! Wenn ich das u eglasse kommt in der cmd nur blödsinn, in SciTE klappt es aber... Dafür klappt es in Scite nicht, wenn ein u drin steht
Mit meinem md5sum_calc hab ich eigentlich die selben Probleme... Dort werden Sonderzeichen in Dateinamen nicht richtig angezeigt. Allerdings werden sie richtig in die *.md5-Datei geschrieben. Auch der Dateiname der *.md5-Datei ist richtig... Und solange es nur die eigentliche Anzeige kapputt ist, ist's mir egal
Das Problem kenne ich allerdings auch bei Batch-Verabrbeitung... Es liegt daran, das Windows einen anderen Zeichensatz verwendet als die cmd
Welche das aber jetzt genau sind, weiß ich auf die schnelle nicht.
EDIT: ...suche... Es ist immer die Rede von ANSI (Windows) und erweiterte ACSII (DOS/cmd). Aus selfhtml

Mit meinem md5sum_calc hab ich eigentlich die selben Probleme... Dort werden Sonderzeichen in Dateinamen nicht richtig angezeigt. Allerdings werden sie richtig in die *.md5-Datei geschrieben. Auch der Dateiname der *.md5-Datei ist richtig... Und solange es nur die eigentliche Anzeige kapputt ist, ist's mir egal

Das Problem kenne ich allerdings auch bei Batch-Verabrbeitung... Es liegt daran, das Windows einen anderen Zeichensatz verwendet als die cmd

EDIT: ...suche... Es ist immer die Rede von ANSI (Windows) und erweiterte ACSII (DOS/cmd). Aus selfhtml
selfhtml hat geschrieben:Microsoft DOS beispielsweise benutzt einen "erweiterten ASCII-Zeichensatz", der aber nicht viel mehr ist als eine schöne Umschreibung für die Microsoft-eigene Belegung der Zeichen 128 bis 255 speziell für die Bedürfnisse von MS DOS.
Soviel ich weis gibt es unter Windows (zumindest in der deutschen Version) CP-1252 als sogenanntes win-latin-1, d.h. es entspricht Latin-1, hat jedoch an einigen Stellen doch andere Zeichen.jens hat geschrieben: Das Problem kenne ich allerdings auch bei Batch-Verabrbeitung... Es liegt daran, das Windows einen anderen Zeichensatz verwendet als die cmdWelche das aber jetzt genau sind, weiß ich auf die schnelle nicht.
Auserdem verwendet Windows UTF-8 und auch UTF-16 (ob LE oder BE) weis ich leider nicht.
-
- User
- Beiträge: 62
- Registriert: Donnerstag 17. November 2005, 16:25
Und wie mache ich das?blackbird hat geschrieben:Einfach den Windows Support für Umlaute weglassen