Problem mit Umlauten - ü ist nicht gleich ü
Verfasst: Sonntag 17. August 2014, 11:18
Hallo,
ich habe hier ein Problem mit dem Ersatz von Umlauten in Strings.
1.) Ich liste mittels Python ein Verzeichnis rekursiv und lasse die gefundenen Verzeichniseinträge in eine Liste schreiben.
Gebe ich diese Einträge mittels des beigefügten Codebeispieles aus, so habe ich immer noch meinen Umlaut "ü".
2.) Schreibe ich den gleichen Text, der mir unter 1.) per Script geliefert wurde in den Text per Hand, so wird der Umlaut "ü" sauber übersetzt.
3.) Kopiere ich den Umlaut "ü" aus dem unter 1.) genannten Ergebnisses eines Scriptes in die Übersetzungstabelle, so bekomme ich folgende Fehlermeldung:
Ich vermute, ich bin hier in einen Fettnapf zum Thema Zeichencodierung getreten, ab so richtig komme ich hier nicht weiter.
System MacOsX und das gelistete Volume liegt auf einem NAS mit einem Linux drauf.
Wer kann helfen?
Gruß,
Christian.
ich habe hier ein Problem mit dem Ersatz von Umlauten in Strings.
Code: Alles auswählen
translation_table = {
"Ä": "Ae",
"ä": "ae",
"Ö": 'Oe',
"ö": "oe",
"Ü": "Ue",
"ü": "ue",
"ß": "ss"
}
# 1.) String ist das Ergebnis eines dir auf den Verzeichnisbaum
# ... Ergebnis in eine Liste
# ... String ist ein Eintrag aus dem String
print("/Volumes/tmpEMPs/gefüllteBoxNegativ.emp".translate(str.maketrans(translation_table)))
# Ausgabe mit Umlaut ü
# 2.)
print("/Volumes/tmpEMPs/gefüllteBoxNegativ.emp". translate(str.maketrans(translation_table)))
# Ausgabe mit Umlaut in ue geaendertGebe ich diese Einträge mittels des beigefügten Codebeispieles aus, so habe ich immer noch meinen Umlaut "ü".
2.) Schreibe ich den gleichen Text, der mir unter 1.) per Script geliefert wurde in den Text per Hand, so wird der Umlaut "ü" sauber übersetzt.
3.) Kopiere ich den Umlaut "ü" aus dem unter 1.) genannten Ergebnisses eines Scriptes in die Übersetzungstabelle, so bekomme ich folgende Fehlermeldung:
Code: Alles auswählen
...
print("/Volumes/tmpEMPs/gefüllteBoxNegativ.emp".translate(str.maketrans(translation_table)))
ValueError: string keys in translate table must be of length 1System MacOsX und das gelistete Volume liegt auf einem NAS mit einem Linux drauf.
Wer kann helfen?
Gruß,
Christian.