Mario Sedlak
Computer
Hauptthemen
Screenshot

Typisches Bild, wenn Unicode als 8-bit-Zeichensatz interpretiert wird (von alter Software) – Immerhin bleibt deutscher Text halbwegs lesbar.

Screenshot

Auf alten Handys kommen Unicode-Grafiken nur als Fragezeichen an.

Probleme mit Zeichensätzen

Theoretisch ist der Unicode-Zeichensatz eine einfache Lösung für alles. Verwirrungen durch unterschiedliche Zeichensätze könnten entfallen. In der Praxis treten aber bis zum heutigen Tag erstaunlich viele Schwierigkeiten mit Zeichensätzen auf:

Problem Problemlösung
Zeichensatz nicht angeben
  • Ohne Angabe des Zeichensatzes stellen manche Programme (z. B. Editor unter Windows oder Microsoft Excel) Zeichensalat dar.
Zeichensatz angeben
nur die ersten 65 536 Unicode-Zeichen verwenden
  • Unicode umfasst heute mehr als 100 000 Schriftzeichen. Die gängigsten Schriftdateiformate (TrueType und OpenType) können jedoch maximal 65 536 Zeichen enthalten.
mehrere verschiedene Schriftarten verwenden
  • exakt nach Spezifikation programmieren
  • ungültige Codes nicht korrigieren und nicht löschen
  • Unicode enthält mehrere Codes für ähnliche Zeichen, z. B.
    • großes B und großes griechisches Beta
    • vordefiniertes ö und ö, das aus o und einem waagrechten Doppelpunkt konstruiert wurde
    • 19 verschiedene Leerzeichen

    Daraus ergeben sich Probleme der folgenden Art:

    • Wenn ich in einer Textdatei nach einem Zeichen suche, finde ich es evtl. nicht.
    • Bei der Übernahme von Unicode-Texten in andere Texte ist das Aussehen evtl. nicht einheitlich.
    • Beim Herauskopieren aus einem PDF wird aus schön manchmal scho"n.
    • Vortäuschen einer Internet-Adresse (ideal für Betrüger, die Leute auf eine nachgemachte Website locken, damit sie dort ihr Passwort eingeben)
  • als Autor:
    • Unicodezeichen möglichst vermeiden
    • von mehreren Varianten die älteste bevorzugen (Das ist einer der Gründe, wieso ich ASCII-Anführungszeichen verwende, obwohl Sprachliebhaber diese für "grauenhaft falsch" halten.)
  • als Programmierer: ähnliche Zeichen, die für Verwechslungen sorgen könnten, ausschließen
  • als Leser: Texte in einem 8-bit-Zeichensatz (für Westeuropa: ISO-8859-1) abspeichern. Unnötige Unicode-Zeichen werden dabei sichtbar und können entfernt bzw. ersetzt werden.
  • Für vorgetäuschte Internetadressen wurde noch keine gute Lösung gefunden. (Ich wäre dafür, auf Nicht-ASCII-Zeichen zu verzichten.)
in Internet-Adressen nur ASCII-Zeichen verwenden
  • Wenn ein Unicode-Zeichen nicht darstellbar ist, wird stattdessen ein Fragezeichen oder gar nichts angezeigt. Es kann kein Alternativtext definiert werden (wie z. B. in HTML für Bilder).
  • Unicode-Zeichen Nr. 55 296–57 343 gibt es nicht. Diese Zahlen sind für die Codierungsvariante UTF-16 reserviert. Bei der Umwandlung in UTF-8 werden oft fälschlicherweise diese Zahlen anstatt die durch sie angegebene Unicode-Zeichennummer verwendet. (Alte Software hat eine Entschuldigung, da der Spezialfall für die Zeichennummern 55 296–57 343 erst 1996 eingeführt wurde, um mehr als 65 536 Zeichen darstellen zu können.)
Diese Fehlfunktion wurde nachträglich als CESU-8 standardisiert. Bei jeder Software ist zu testen, ob sie diesem Standard folgt oder korrektes UTF-8 produziert.
  • Unicode-Zeichen vermeiden
  • Mail oder Chat-App (wie z. B. WhatsApp) verwenden
  • Worte benutzen
  • Grafiken anstatt Unicode-Zeichen benutzen
FTP-Server auf UTF-8 umstellen; keine alten Zugangsprogramme mehr verwenden

Frühere Probleme

Problem Problemlösung
  • Das Eurozeichen wurde von Microsoft und der ISO-Normungsgruppe an verschiedenen Plätzen in der Zeichensatz-Tabelle untergebracht. Mailprogramme und sonstige Software sendeten den verwendeten Zeichensatz nicht mit (bis dato war das ja kaum erforderlich) und/oder decodierten ihn nicht richtig. Zur Verwirrung der Laien klappt die Anzeige dennoch, wenn zwei "kaputte" Programme mit dem gleichen Standardzeichensatz verwendet werden. Deren Benutzer sind dann schwer zu überzeugen, in ihren Programmen etwas zu korrigieren ...

UTF-8 verwenden

Dieses Format ist heute Standard und wird von allen modernen Mailprogrammen unterstützt.

ASCII oder 8-bit-Zeichensatz verwenden
  • UTF-8 wurde vom Microsoft SQL-Server nicht als Datenbankformat unterstützt. Die Verwendung von Unicode bewirkt(e), dass für jedes Zeichen 2 Bytes beansprucht werden und die maximale Zeichenkette statt 8000 nur noch 4000 Zeichen umfasste.
In heutigen Datenbanken ist UTF-8 Standard (wenngleich noch nicht perfekt umgesetzt).
  • In einer unter DOS erstellten Textdatei werden unter Windows die Umlaute falsch angezeigt.
Neuere Version von Word verwenden – Diese hat eine Option, um den Zeichensatz umzuwandeln.

Weiter

Zeichensatzprobleme mit Microsoft Excel

Quellen

[1]

Seite erstellt am 21.3.2017 – letzte Änderung am 5.9.2020