Hey Leute,
ja ich weiß das Thema "Umlaute"
Also ich empfange über die serielle Schnittstelle Daten mittels Python.
Mit den Umlauten gibt es aber probleme in der Verarbeitung als auch in der Anzeige.
Klassisch wird z.B. ein "ß" als "?" angezeigt und wenn im den String nach zb "ß" durchsuche gibt es keine Treffer.
(Obwohl in der Zeichenkette gesendet)
"# -*- coding: iso-8859-1 -*-" verwende ich bereits...
Ich bekomme nämlich Adressdaten über die serielle Schittstelle angeliefert, die mit einer internen Datenbank abgeglichen werden.
Nun passt natürlich zb : "Berliner Straße"(aus Datenbank) nicht mit "Berliner Stra?e"(empfangen über die Serielle) zusammen.
Weiß jemand Rat ?
Gruß Stefan
Umlaute und Serielle Schnitstelle
@StefanJ79: mit den von Dir gelieferten Informationen kann ich keine Lösung bieten. Entweder sendet das Gerät schon keine Umlaute oder nach dem Lesen ersetzt Du irgendwann Sonderzeichen durch `?`. Was sendet die Daten, woher kommen die, wie verarbeitest Du sie weiter?
PS: Die Kodierungsangabe in der ersten Zeile Deiner Python-Datei sagt nur, wie die .py-Datei kodiert ist, das hat keinen Einfluß auf die Verarbeitung von Daten.
PS: Die Kodierungsangabe in der ersten Zeile Deiner Python-Datei sagt nur, wie die .py-Datei kodiert ist, das hat keinen Einfluß auf die Verarbeitung von Daten.
@StefanJ79: Der Kodierungskommentar sagt dem Compiler nur in welcher Kodierung der *Quelltext* vorliegt in dem dieser Kommentar am Anfang steht.
Über die serielle Schnittstelle kommen keine Zeichen, sondern Bytes. Wenn Du daraus Zeichen machen möchtest, dann musst Du diese Bytes dekodieren und zwar mit der Kodierung in der sie auf der anderen Seite vor dem versenden kodiert wurden. Diese Kodierung muss man kennen, das heisst die lässt sich allerhöchstens raten, aber nicht zuverlässig ermitteln wenn man sie nicht kennt, entweder weil das irgendwo dokumentiert ist (notfalls im Quelltext beim Sender durch den Code selbst), oder weil diese Information übermittelt wird.
Über die serielle Schnittstelle kommen keine Zeichen, sondern Bytes. Wenn Du daraus Zeichen machen möchtest, dann musst Du diese Bytes dekodieren und zwar mit der Kodierung in der sie auf der anderen Seite vor dem versenden kodiert wurden. Diese Kodierung muss man kennen, das heisst die lässt sich allerhöchstens raten, aber nicht zuverlässig ermitteln wenn man sie nicht kennt, entweder weil das irgendwo dokumentiert ist (notfalls im Quelltext beim Sender durch den Code selbst), oder weil diese Information übermittelt wird.