PYTHON-Problem mit Ü (Umlaute)

Gast #3984554
Lesenswert?

#PYTHON-Beispiel
#PYTHON-Version 3.1.2
#Auf Windows XP
for person in ["Herr Müller", "Frau Meier", "Tina Schulze"]:
   print(person, "lernt Python!")

Ich habe hier ein Problem mit dem Buchstaben Ü in Müller.
Wenn ich das Ü entferne funktioniert es, ansonsten kommt
eine Fehlermeldung.
Persönliche Seite #3984578
Lesenswert?

Toll. Es kommt "eine Fehlermeldung". Lautet die etwa "Dies ist eine 
Fehlermeldung"?

Dein Problem wird möglicherweise daran liegen, daß Dein Editor eine 
ungeeignete Zeichencodierung verwendet, und Dein Quelltext nicht so 
aussieht, wie Python das erwartet.

Stichwörter: UTF-8, Codepage 1252, "ANSI" bzw. "Latin-1" oder ISO8859-1. 
Oder, sofern Du in einer Textkonsole ("Eingabeaufforderung") unterwegs 
bist, Codepage 850 bzw. 437.
Gast #3984722
Lesenswert?

# -*- encoding: iso-8859-15 -*-
for person in ["Herr Müller", "Frau Meier", "Tina Schulze"]:
   print(person, "lernt Python!")

Fehlermeldung:
Traceback (most recent call last):
  File "D:\PYTHON31\x.py", line 3, in <module>
    print(person, "lernt Python!")
  File "D:\Python31\lib\encodings\cp850.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\x81' in 
position 6:
 character maps to <undefined>
------------------------------------------------------------------------ 
--
# -*- encoding: utf-8 -*-
for person in ["Herr Müller", "Frau Meier", "Tina Schulze"]:
   print(person, "lernt Python!")

Fehlermeldung:
  File "D:\PYTHON31\x.py", line 2
SyntaxError: (unicode error) 'utf8' codec can't decode byte 0x81 in 
position 0:
unexpected code byte
------------------------------------------------------------------------ 
--
# -*- coding: cp2352 -*-
for person in ["Herr Müller", "Frau Meier", "Tina Schulze"]:
   print(person, "lernt Python!")

Fehlermeldung:
  File "D:\PYTHON31\x.py", line 1
SyntaxError: encoding problem: with BOM
------------------------------------------------------------------------ 
-
# -*- encoding: cp2352 -*-
for person in ["Herr Müller", "Frau Meier", "Tina Schulze"]:
   print(person, "lernt Python!")

Fehlermeldung:
  File "D:\PYTHON31\x.py", line 1
SyntaxError: encoding problem: with BOM
------------------------------------------------------------------------
for person in ["Herr Mller", "Frau Meier", "Tina Schulze"]:
   print(person, "lernt Python!")

Keine Fehlermeldung
Gast #3984760
Lesenswert?

Wenn ich Python interaktiv starte
erscheint folgendes:

D:\PYTHON31>python
Python 3.1.2 (r312:79149, Mar 21 2010, 00:41:52) [MSC v.1500 32 bit 
(Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Ich habe es von der Buch-CD:

Thomas Theis
Einstieg in Python 3
Galileo Computing
Angehängte Dateien:
Gast #3985302
Lesenswert?

Mit dem passenden Editor (z.B. Notepad++) kannst du das Skript in einem 
von dir gewählten "encoding" abspeichern (mit und ohne BOM).
Das muss natürlich mit dem Hinweis für Python übereinstimmen.
Ich nehme immer utf-8.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren