Die Krux mit den Sonderzeichen – OpenStack und die Zeichenkodierungen

Umlaute und das nur in der deutschen Sprache vorkommene ß-Zeichen sorgen in der IT immer wieder für Probleme. Daher ist die Frage wichtig, welcher Zeichensatz verwendet wird, wenn beispielsweise Zeichen verschiedener Sprachen dargestellt werden sollen.
OpenStack in CloudsVor allem bei Programmen wie OpenStack, die hauptsächlich in Englisch entwickelt werden, sind Hindernisse im wahrsten Sinne des Wortes vorprogrammiert, wenn man darauf angewiesen ist, deutsche Sonderzeichen zu verwenden.

Die Problematik bei OpenStack

Dies passiert beispielsweise wenn man eine Authentifizierung über einen LDAP Server macht, der den deutschen Zeichensatz benutzt.Diese Problemstellung kann dadurch gelöst werden, indem man auf einen Zeichensatz umstellt, der deutsche Zeichen beinhaltet.

Da die Module von OpenStack alle in Python geschrieben wurden, muss man den Standard Zeichensatz von Python ändern.

ascii Tabelle

Ascii Tabelle – zum Vergrößern bitte klicken!

Python benutzt standardmäßig den ASCII Zeichensatz, welcher für die englische Sprache alle notwendigen Zeichen mitbringt.

Doch um auch deutsche Umlaute und das Eszett-Zeichen zu benutzen, benötigt man einen Zeichensatz welcher diese Zeichen beinhaltet.
ISO 8859-1 oder UTF-8, beinhalten diese Zeichen.
Um dies in Python zu ändern, muss die Datei sitecustomize.py angepasst werden.

Die Standardkodierung wird wie folgt angegeben:

Import sys
sys.setdefaultencoding(‚utf-8‘)

Zeichensätze und Zeichenkodierungen

Wenn man Probleme mit Zeichen hat, wie hier bei der LDAP-Authentifizierung, kann es helfen wenn man den Standard-Zeichensatz ändert.

Definition Zeichensatz

Ein Zeichensatz ist eine Tabelle (Zeichenvorrat) womit der Rechner eine Umwandlung von einem Wert zu einem Zeichen macht.
Benutzt man den falschen Zeichensatz, dann wird der Wert falsch interpretiert und es entsteht ein falsches Zeichen.

Die Begriffe Zeichenvorrat, Zeichensatz und Zeichenkodierung

Um nun das Problem der falschen Zeichen zu erläutern, sind ein paar Begriffserklärungen notwendig:

  • Zeichenvorrat beschreibt die Menge der Zeichen, die man zur Verfügung hat oder verwenden möchte.
  • Ordnet man den Zeichenvorrat, bringt man die Zeichen also in eine bestimmte Reihenfolge und nummeriert sie durch, bekommt man einen Zeichensatz (engl. kurz charset).
  • Damit der Computer mit den Zeichen noch arbeiten kann, muss er das Muster in Bits kennen. Dafür ist die Zeichenkodierung zuständig. Da im Zeichensatz bereits eine Reihenfolge und Nummerierung festgelegt wurde, braucht dieser also nur noch die Bitmuster zuzuordnen werden.
  • Image

    Mission Managed Cloud

    Hosting in Public-Cloud-Infrastruktur:
    Optimiert auf Ihre spezifischen Anforderungen!

    Mit der ADACOR Managed Cloud erhalten Sie die passende Kombination aus der vCloud-Virtualisierungslösung des Marktführers VMware und den Managed Services der ADACOR.

    Jetzt informieren!

Die wichtigsten Zeichensätze und -kodierungen

In Westeuropa wird der Zeichensatz ISO 8859-1 (auch „Latin 1“ genannt) genutzt. Dieser Zeichensatz enthält die grundlegenden ASCII-Zeichen, der auch die fürs Deutsche wichtige Umlaute umfasst; also ä, ö, ü, Ä, Ö, Ü und ß. Somit kommt man bei deutschen Texten mit diesem Zeichensatz eigentlich aus. Frickelig wird es wenn gleichzeitig Zeichen einer anderen Sprache oder eines anderen Zeichensystems verwendet werden. Dann reicht dieser Zeichensatz nicht mehr aus.

Dafür wurde der Unicode entwickelt, der mit derzeit 220+216 möglichen Zeichen langfristig jedes sinntragende Zeichen beziehungsweise Textelement aller bekannten Schriftkulturen und Zeichensysteme umfassen soll.

Die gebräuchlichste Kodierung für Unicode-Daten ist UTF-8, bei der ein geschickter Trick angewandt wird: denn reicht ein Byte zur Abbildung des Zeichens nicht aus, wird einfach ein zweites Byte dazu genommen. Reicht auch das nicht aus, wird ein weiteres Byte dazu genommen und so weiter.

Damit nun der Rechner weiß, wie er die Daten richtig verarbeiten kann, muss man Ihm mitteilen, welchen Zeichensatz er benutzen soll. Fehlt ihm diese Information dann kommt es zu Fehlinterpretationen, welche z.B. bei einer Authentifizierung zu Fehlern führt.

, , ,


Weitere Artikel zum Thema lesen

Terminalserver Lastausgleich mit Windows Server 2012

Hosting, IT-News

Terminalserver Lastausgleich mit Windows Server 2012

Eine lastverteilte Terminalserver-Infrastruktur lässt sich auch mit Boardmitteln von Windows Server 2012 umsetzen.

weiter lesen

Entwicklungsgeschichte der Netzwerk-Infrastruktur von Google

IT-News

Entwicklungsgeschichte der Netzwerk-Infrastruktur von Google

Rückschau auf fünf Generationen Netzwerk-Infrastrukturen.

weiter lesen

Was ist M2M-Kommunikation?

IT-News

Was ist M2M-Kommunikation?

Erster Beitrag unserer Reihe zum Internet der Dinge

weiter lesen


Neueste Nachrichten von ADACOR

IT-News

Neue Ideen für Teamevents

Teamevents helfen, das Wir-Gefühl zu stärken, die Arbeitsmoral zu erhöhen und Mitarbeiter langfristig an das Unternehmen zu binden.

weiter lesen

Cloud

Hybrid Cloud in vielen Unternehmen bereits Realität

Einsatzmöglichkeiten der Hybrid Cloud und wieso sie die jeweiligen Nachteile von Private und Public Cloud minimiert.

weiter lesen

IT Security

Hintergründe und aktuelle Informationen zur WannaCry-Attacke

Zum Heulen - wie die bislang größte Malware-Attacke ihren Ausgang nahm und welche Gegenmaßnahmen möglich sind.

weiter lesen

Diese Seite verwendet Cookies, welche uns helfen, unsere Services anzubieten und zu verbessern.
Erfahren Sie mehr über unsere Cookie-Richtlinien. Durch die Nutzung dieser Website erklären Sie sich mit der Nutzung von Cookies einverstanden.