Seite 1 von 2
Probleme mit Umlaute in Python
Verfasst: Montag 2. Juni 2025, 10:21
von Peter17
Hallo,
habe mir Microsoft Visual-Studio Prof. installiert unter Windows 11 Prof.
Habe Python 3.13.3 installiert und in VS kann ich auch ein neues Projekt in Python erstellen
Bin absoluter Anfänger im Programmieren.
Habe print("Hallo Welt") eingegeben und es läuft.
Habe dann print("Hallo Übermorgen") eingegeben und gestartet und es kommt zur Fehlermeldung wegen UTF8.
Gebe ich das selbe unter CMD ein, so wird die Umlaute richtig ausgegeben.
Wie kann ich das ändern, dass die Ausgabe auch in VS funktioniert?
Danke im voraus
Re: Probleme mit Umlaute in Python
Verfasst: Montag 2. Juni 2025, 11:37
von Kebap
Welche Fehlermeldung kommt denn da?
Re: Probleme mit Umlaute in Python
Verfasst: Montag 2. Juni 2025, 14:21
von imonbln
Wie schön @Kebap, geschrieben hat, die konkrete Fehlermeldung wäre hilfreich.
Wenn ich raten müsste, würde ich vermuten, dass das Encoding nicht stimmt. Hat dann wenig mit Python zu tun, sondern eher welches Encoding deine IDE hat und welche die CMD verwendet.
Re: Probleme mit Umlaute in Python
Verfasst: Montag 2. Juni 2025, 17:19
von Peter17
der Fehlercode lautet:
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xfc in position 6: invalid start byte
Re: Probleme mit Umlaute in Python
Verfasst: Montag 2. Juni 2025, 17:41
von nezzcarth
An der Stelle in der Eingabe steht (anders als in deinem Beispiel) ein kleines ü oder? Das ist nicht Unicode/UTF-8, sondern vmtl. Windows 1252 oder UTF-16-LE. Wenn das in einer Datei steht, musst du die Datei korrekt kodieren, bzw. ggf. deine Software so einstellen, dass der richtige Zeichensatz verwendet wird.
Re: Probleme mit Umlaute in Python
Verfasst: Montag 2. Juni 2025, 20:16
von __blackjack__
Oder einen Coding-Kommentar an den Anfang der Datei schreiben, der die tatsächliche Kodierung der Datei angibt. Aber es spricht IMHO wenig bis gar nichts dafür “bei uns” eine andere Kodierung als UTF-8 zu verwenden.
Re: Probleme mit Umlaute in Python
Verfasst: Dienstag 3. Juni 2025, 10:46
von ThomasL
Re: Probleme mit Umlaute in Python
Verfasst: Dienstag 3. Juni 2025, 11:55
von Peter17
Hallo netzzcarth
es ist ein Großes Ü
Re: Probleme mit Umlaute in Python
Verfasst: Dienstag 3. Juni 2025, 12:02
von __blackjack__
@Peter17: In welcher Kodierung? In der bei uns üblichen Windows-Kodierung CP1252 ist das ein kleines ü:
Code: Alles auswählen
In [13]: b'\xfc'.decode("cp1252")
Out[13]: 'ü'
In [14]: b"\xfc".decode("cp1252") == "Ü"
Out[14]: False
Re: Probleme mit Umlaute in Python
Verfasst: Dienstag 3. Juni 2025, 17:15
von Peter17
hallo blackjack,
habe Visual Studio gestartet, Neues Projekt in der Python-Umgebung angelegt.
In der IDE dann einfach Print("Hallo Übermorgen") eingegeben und mit "Starten" ausgeführt.
In der sich öffnend Shell wird der Fehler angezeigt.
Re: Probleme mit Umlaute in Python
Verfasst: Dienstag 3. Juni 2025, 17:42
von __blackjack__
@Peter17: Entweder war das Ü klein geschrieben, oder die Zahl in der Fehlermeldung war anders. Beziehungsweise war die Fehlermeldung bei ``Print`` mit einem grossen P ganz sicher anders.
Re: Probleme mit Umlaute in Python
Verfasst: Dienstag 3. Juni 2025, 17:56
von nezzcarth
So oder so: Ich schlage vor, dass du in den Einstellungen von Visual Studio schaust, welcher Zeichensatz da eingestellt ist und diesen ggf. auf Unicode/UTF-8 setzt.
Re: Probleme mit Umlaute in Python
Verfasst: Dienstag 3. Juni 2025, 17:58
von __blackjack__
Ah, oder es ist tatsächlich FC für ein grosses Ü wenn eine EBCDIC-Kodierung beim Quelltext verwendet wird:
https://de.wikipedia.org/wiki/Extended_ ... EBCDIC_037 
So unwahrscheinlich das auch sein mag. Vielleicht wird ja sonst für (historische) Mainframes oder z/OS programmiert.
Re: Probleme mit Umlaute in Python
Verfasst: Dienstag 3. Juni 2025, 18:43
von nezzcarth
@blackjack: Ich finde mittels iconv insgesamt 137 Encodings (einschl. Aliase), die das Ü so kodieren und – soweit ich das sagen kann – alle entweder sehr alt oder auf normalen PCs unüblich sind bzw. meistens beides. Wahrscheinlicher erscheint mir dann doch, dass da eigentlich ein ü steht und Visual Studio auf UTF16-LE gestellt ist, was im Kontext von Windows-Programmierung ja üblich ist und daher noch irgendwie halbwegs plausibel erscheint. Das ist aber nur wild spekuliert. Persönlich würde ich allerdings auch sowieso kein Visual Studio für Python nehmen.
Re: Probleme mit Umlaute in Python
Verfasst: Dienstag 3. Juni 2025, 20:22
von Sirius3
@nezzcarth: UTF16 würde gar nicht laufen, weil python beim ersten 0-byte aufhört zu lesen.
Re: Probleme mit Umlaute in Python
Verfasst: Dienstag 3. Juni 2025, 21:04
von nezzcarth
@Sirius3: Das ist bei dem unter Windows (m.W.n.) üblichen UTF16-LE nicht zwangsläufig der Fall, da hier das fc zuerst kommt (fc00)
EDIT: siehe auch:
Code: Alles auswählen
xxd test.txt
00000000: 4800 6100 6c00 6c00 6f00 2000 fc00 6200 H.a.l.l.o. ...b.
00000010: 6500 7200 6d00 6f00 7200 6700 6500 6e00 e.r.m.o.r.g.e.n.
00000020: 0a00 ..
[code]
In [1]: open('test.txt').read()
---------------------------------------------------------------------------
UnicodeDecodeError Traceback (most recent call last)
Cell In[1], line 1
----> 1 open('test.txt').read()
File <frozen codecs>:325, in decode(self, input, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfc in position 12: invalid start byte
In [2]: open('test.txt', encoding='utf-16-le').read()
Out[2]: 'Hallo übermorgen\n'
Re: Probleme mit Umlaute in Python
Verfasst: Dienstag 3. Juni 2025, 21:12
von Sirius3
Es ist völlig egal, ob in der Datei irgendwo ein ü vorkommt, weil der erste Buchstabe von
ein p ist, und weiter liest python gar nicht.
Re: Probleme mit Umlaute in Python
Verfasst: Dienstag 3. Juni 2025, 21:13
von nezzcarth
Das trifft meinem Eindruck nach nicht zu, s. mein noch mal korrigierten Edit. Python meckert an Position 12 (allerdings nicht bei 6 wie im Ausgangspost, also habe ich vmtl. doch Unrecht

), nicht an Position 1.
EDIT:
Ohne ü kann Python das "lesen":
Code: Alles auswählen
In [1]: open('test.txt', encoding='utf8').read()
Out[1]: 'H\x00a\x00l\x00l\x00o\x00 \x00u\x00b\x00e\x00r\x00m\x00o\x00r\x00g\x00e\x00n\x00\n\x00'
Re: Probleme mit Umlaute in Python
Verfasst: Dienstag 3. Juni 2025, 21:25
von Sirius3
Hast Du schon versucht, ein UTF16-codiertes Python-Programm auszuführen?
Re: Probleme mit Umlaute in Python
Verfasst: Mittwoch 4. Juni 2025, 09:23
von Peter17
Hallo an alle.
Habe Dank Euch den Fehler gefunden.
In Visual Studio habe ich bei GIT/Einstellungen / Umgebung bei Dokumente im Eintrag "Speichern von Dateien mit einer bestimmten Codierung" ein Häkchen gesetzt und "Unicode (UTF-8 ohne Signatur) - Codepage 65001" ausgewählt. Und siehe da.... nun wird das Ü auch korrekt ausgegeben.
Besten Dank an alle für Eure Hilfe