Linux
Webdesing
Unicode – eine kurze (leicht historische) Einführung
Aktualisiert: 26.10.2010
Unicode, ISO 10646 und UTF-8
Bereits in den späten 80er Jahren gab es zwei Versuche einen vereinheitlichten Zeichensatz für alles Sprachen dieser Welt zu kreieren: einer war ISO 10646 von der International Organization for Standardization (ISO), der andere Unicode, welches von einem Konsortium amerikanischer Hersteller mehrsprachiger Software ins Leben gerufen wurde. Anfang der 90er Jahre realisierten beide Projekte, dass die Welt nicht zwei verschiedene Zeichensätze braucht und vereinten ihre Kräfte, um an einer einzigen Code-Tabelle zu arbeiten. Zwar exisitieren beide Projekte auch heute noch unabhängig von einenander, doch haben sowohl das Unicode Consortium als auch ISO/IEC JTC1/SC2 beschlossen, ihre Code-Tabellen kompatibel zu halten und immer zusammen über Erweiterungen zu beraten.
Der Unicode-Standard definiert im Zusammenspiel mit den einzelnen Zeichen sehr viel Semantik und ist daher für qualitätvolle Typographie geeignet. Zudem sind viele Alogarithmen integriert, welche die Darstellung exotischer, bidirektionaler Schriften (z. B. Arabisch oder Hebräisch), eine Mischung verschiedener Schriften oder das Vergleichen einzelner Zeichen ermöglichen. Der ISO 10646-Standard hingegen ist eigentlich nur eine Zeichen-Tabelle, welche die verschiedenen existierenden ISO 8859-Standards in sich vereint und mit diesen kompatibel ist. Hinzu kommen einige Terminologien, Code-Alternativen und Spezifikationen zur Verwendung von Unicode mit anderen ISO-Standards.
UTF-8 ist eine alternative Code-Darstellung aller Zeichen, welche im allumfassenden Universal Character Set (UCS) enthalten sind. Die ursprünglich vorgelegten Kodierungen des UCS waren jedoch mit vielen Anwendungen und Protokollen inkompatibel und führte u. a. zu grossen Problemen beim Programmieren von Software und Systemen, da dies unter Benutzung des amerikanischen Zeichensatzes US-ASCII gemacht wurde – und auch heute noch gemacht wird. Dieser Missstand führte schliesslich zur Entwicklung von UTF-8, welches mit dem amerikanischen Zeichensatz US-ASCII vollständig kompatibel ist.
UTF-8 im Zusammenspiel mit Linux
Bevor UTF-8 auf der Bildfläche erschien, mussten sich Linux-Nutzer auf der ganzen Welt mit verschiedenen sprachpezifischen Erweiterungen von ASCII herunmschlagen: ISO 8859-1 und ISO 8859-2 in Europa, ISO 8859-7 in Griechenland, KOI-8 bzw. ISO 8859-5 bzw. CP1251 in Russland, EUC und Shift-JIS in Japan oder BIG5 in Taiwan. Dies erschwerte den Datenaustausch enorm und insbesondere Software-Entwickler mussten sich dauernd mit irgendwelchen Eigenheiten in den Sprachkodierungen herumschlagen; aus diesem Frust heraus resultierte oftmals eine ungenügende Unterstützung oder aber auch eine komplette Vernachlässigung einer Sprachkodierung. Die Linuxgemeinde hat dieses Manko sehr schnell erkannt und alle grösseren Linux-Distributionen haben heutzutage UTF-8 als Standardkodierung vollumfänglich implementiert.
Da die Umstellung auf UTF-8 jedoch noch nicht so alt ist, gibt es auch heute noch Probleme mit Programmen, die vor Jahren unter der Verwendung von US ASCII (siehe oben) entwickelt und jetzt nach und nach umprogrammiert werden müssen. Dabei ist der Spagat kein kleiner, denn die ganze SAche muss rückwärts kompatibel sein, da ansonsten vorhandene Daten korrumpiert und dadurch wiederum treue Kunden vergrault werden. In die Kategorie von Software, die seit Jahren entwickelt wird und sich jetzt in dieser Übergangszeit von diversen Zeichenkodierungen weg hin zu UTF-8 befindet, zählt auch die bekannte Webserver-Trias Apache, PHP und MySQL. Beim heutigen Stand im Jahre 2007 kann konstatiert werden, dass UTF-8 gut integriert, oftmals aber nicht als Standarzeichensatz deklariert ist. Es müssen also immer noch ein paar Änderungen manuell vorgenommen werden, um die drei Programme zu einer sauberen UTF-8-Zusammenarbeit überreden zu können.

