Menü
Ein Beitrag von Adacor

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.

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.

Image

Strategien mit denen Unternehmen ihren Cloud-Erfolg steigern

Ausgzeichnete DevOps Private Cloud – Adacor erhält Innovationspreis
Wenn Daten umziehen müssen – Storage Migration in der Praxis
Was genau ist "Digitalisierung"– Aufteilung in Bereiche bringt Klarheit

Die neue Ausgabe des IT-Magazins komfortabel lesen!
Jetzt PDF hier downloaden

, , ,

Sie möchten keinen Beitrag verpassen?

Es gibt einen Newsletter. Hier können Sie ihn abonnieren.

Datenschutzhinweise


Weitere Artikel zum Thema lesen

IT-News

Kundenerfolg durch Customer Success Management steigern

CSM dient dazu Kundenzufriedenheit zu maximieren, indem man die eigenen Prozesse eng am Kundenerfolg ausrichtet.

weiter lesen

Indirektes Remote-Monitoring von Servern

Cloud, Hosting, IT-News

Indirektes Remote-Monitoring von Servern

Unsere Kunden haben oftmals komplexe Anforderungen an Sicherheit und Datenschutz unserer Server. Daher kann es vorkommen, dass wir Systeme oder Verbindungen kontrollieren müssen, die...

weiter lesen

Erfahrungsbericht - Refactoring eines großen Softwareprojekts

Hosting, IT-News

Erfahrungsbericht – Refactoring eines großen Softwareprojekts

Für einen Kunden haben wir die groß angelegte Umbauaktion eines Intranet Systems mit 4,5 Mio. Zeilen Code umgesetzt. In diesem Beitrag dokumentieren wir für...

weiter lesen


Neueste Nachrichten von Adacor

IT Security

Risikomanagement als Mehrwert für Unternehmen sehen

Wie Sie das Zusammenspiel von ISMS und IKS für sich nutzen können.

weiter lesen

Cloud

AWS, Azure und Co.: Brauchen Sie wirklich eine große Public-Cloud?

Das Angebot großer Public Clouds klingt für viele Unternehmen verlockend. Eine Private Cloud kann jedoch die ökonomisch sinnvollere Lösung sein.

weiter lesen

Biz & Trends

Was ist eigentlich Digitalisierung?

Der Begriff „ Digitalisierung“ weist viele Facetten auf. Die Aufteilung in Bereiche bringt jedoch Klarheit.

weiter lesen