Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Entwicklung & Design

Unicode ist weniger universell als man denkt

Unicode, die Emoji und andere Probleme. (Foto: Pixabay)

Seien wir ehrlich: Unicode kennen wir alle. Aber im Grunde nur als Wort. Die entwickelnd Tätigen wissen immerhin noch einzuordnen, dass es sich um eine universelle Tabelle mit den Codes aller Buchstaben und Zeichen aller Sprachen der Welt handelt.

Letztlich ist alles Unicode, denkste. (Foto: Pixabay)
Letztlich ist alles Unicode, denkste. (Foto: Pixabay)

Unicode: Gigantische Code-Tabelle aller Zeichen der Welt

Damit stellen wir uns Unicode irgendwie als eine Art Mutation von ASCII, dem altehrwürdigen Zeichensatz aus der Frühzeit des Computing, vor. Das ist nicht so richtig falsch, denn ASCII ist natürlich eine (sehr kleine) Untermenge von Unicode. Prominentester, im Sinne von in der breiten Masse sichtbarster Teil von Unicode sind die allseits beliebten Emoji.

In den letzten zehn Jahren habe ich bei allen Web-Projekten Unicode verwendet. Das war so bar jeglicher Diskussion, dass ich die Verwendung nicht in Frage stellte. Irgendwann Anfang der Nuller stellte man halt um. Kleinere Probleme in der Zeichendarstellung waren zumeist schnell behoben.

Da ich immer nur deutsch- oder englischsprachige Web-Projekte zu realisieren hatte, stellten sich mir die Fragen, mit denen sich Entwickler Eevee in seinem aktuellen, sehr langen Blogbeitrag beschäftigt, erst gar nicht. Wenn man sich allerdings die Mühe macht, Eevee in die „dunklen Ecken von Unicode" zu begleiten, wird schnell deutlich, dass Unicode bei weitem nicht die universelle Lösung für internationale Code-Projekte ist.

Eevee befasst sich sehr ausführlich mit den „dunklen Ecken in Unicode“. (Screenshot: Eevees Blog)
Eevee befasst sich sehr ausführlich mit den „dunklen Ecken in Unicode“. (Screenshot: Eevees Blog)

Unicode grenzt Zeichen bisweilen unzureichend voneinander ab

Vor allem die Codierung ähnlicher Charakter bereitet Probleme, wenn es um die datenbankmäßige oder programmlogische Auswertung geht. Eevee führt haufenweise Beispiele an. Dabei gilt das nicht nur in exotischen Sprachen, sondern bereits bei Zeichen innerhalb ein und derselben Sprache. Natürlich gibt es Sprachen, die in dieser Hinsicht „gefährdeter” sind als andere, darunter insbesondere solche mit komplexen Zeichensätzen wie Japanisch oder Koreanisch.

Die Probleme setzen sich fort, wenn es um gängige Szenarien wie den Einsatz von Terminal-Software, aber auch die Beschränkungen von JavaScript und MySQL geht.

In jüngerer Zeit gewinnen Emoticons, neuerdings als Emoji bezeichnet, an Popularität. Eevee beklagt dabei vor allem den Versuch, Emoji als im Grunde eigenständiges Konstrukt neben Unicode zu etablieren, obschon es das nicht ist. Die großen Kommunikationsplattformen wie WhatsApp setzen identische Zeichensätze für jedes Zielgerät um. Das ist zwar aus Kundensicht verständlich, aber nicht dem Standard entsprechend.

Eevees Fazit: „Unicode ist einzigartig fürchterlich.“

Eevees Bestandsaufnahme ernüchtert, wenn man entweder so tief einsteigen will oder muss. Und neben den hier aufgegriffenen Problemen hat Eevee noch weitere Schwierigkeiten mit Unicode identifiziert, die er in seinem Blogbeitrag thematisiert. Welcome to the real world! Wir legen euch den Text in jedem Fall ans Herz.

Wie sind eure Erfahrungen mit Unicode? Habt ihr gar Schreckliches zu berichten? Lasst es uns wissen!

Bitte beachte unsere Community-Richtlinien

3 Reaktionen
Dieter Petereit

Vielen Dank für die nützlichen Kommentare.

Der Beitrag schließt übrigens ebenfalls mit der Aufforderung, ihn in Gänze zu lesen, wenn man so tief einsteigen will oder muss. Die Empfehlung kann ich gerne nochmal wiederholen.

Ansonsten habe ich lediglich die Kernaussagen des Textes verkürzt zusammen gefasst. Selbstverständlich ist das auch richtig so. Wenn nun einer meint, dass ich damit nicht die Bedeutung des Geschriebenen getroffen habe, dann sei es eben so. Meinungen gibt es viele.

Antworten
agtrier

Ich wäre der letzte, der alles toll findet, was im Unicode-Consortium passiert (waren Symbole wie das große Eszet, der Interobang oder der lachende Kackhaufen wirklich nötig?) ... aber letztlich muss man sich doch auch fragen: "Was wäre die Alternative?"

Ich verstehe auch nicht ganz, welche Vorwürfe der Autor hier macht. Funktioniert etwas nicht (dann liegt es wahrscheinlich eher an der Implementation, nicht am Standard), fehlt ein Symbol (dann sollte man die "Private Use" Areas benutzen um das für seine eigenen Zwecke nachzurüsten...

Oder wollte der Autor sich wichtig machen, indem er einen Rant abgibt, zu einem Thema, das er offensichtlich nicht ganz verstanden hat?

Es wundert sich

agtrier

Antworten
Manuel Strehl

Ich bin der Autor von codepoints.net (in Eevees Artikel mehrfach verlinkt), habe Eevees Artikel gelesen, kurz nachdem er veröffentlicht wurde, und mich auf Twitter und in den Kommentaren damit befasst. Ich darf also mit gewisser Autorität sagen, dass dieser Beitrag hier deutlich an der Intention von Eevees ursprünglichem Post vorbeigeht und eine unreflektierte Sichtweise auf das „pöse Unicode“ offenlegt, die ich von t3n sonst nicht kenne.

Fangen wir hinten an:

> Eevees Fazit: „Unicode ist einzigartig fürchterlich.“

Das stimmt nicht. Eevees letzter Satz bezieht sich mit keinem Wort auf Unicode. Er schreibt von der Software (meine Seite, fileformat.info, Wikipedia), die ihm das Kopieren eines Sets von Zeichen unnötig schwer macht. Nicht Unicode ist hier „uniquely terrible“, sondern u.a. meine Seite. Das habe ich mit ihm auf Twitter auch so erörtert und mit seinem Feedback zum Teil schon gefixt.

> Die großen Kommunikationsplattformen wie WhatsApp setzen identische Zeichensätze für jedes Zielgerät um.

Ein vollkommen unsinniger Satz. „Identische Zeichnsätze“ ist etwas gutes, z.B. konsequentes UTF-8, der Satz verdreht komplett die Meinung des Originals. Eevee schreibt, dass ein paar IM-Anbieter einfach blind Apple nachrennen, anstatt sich beim Unicode-Consortium für standardisierte Varianten stark zu machen.

> Unicode grenzt Zeichen bisweilen unzureichend voneinander ab

und im folgenden Satz:

> Vor allem die Codierung ähnlicher Charakter bereitet Probleme, wenn es um die datenbankmäßige oder programmlogische Auswertung geht.

Das ist eine unglaublich verkürzte und verzerrte Darstellung dessen, was tatsächlich bei Unicode unter der Haube passiert. Dass manchmal mehrere Wege zum gleichen Zeichen führen (z.B. direkt kodiert vs. zusammengesetzt aus einzelnen kombinierenden Zeichen), wäre durchaus eine Erwähnung wert gewesen. Auch dass da nicht unbedingt immer das schlimme Unicode schuld ist, sondern es einfach eine Mammutaufgabe ist, das Wirrwarr menschlicher Schrift ins Digitalzeitalter zu überführen, hätte man mit etwas mehr Textgespür aus dem Original herauslesen können.

> ... wird schnell deutlich, dass Unicode bei weitem nicht die universelle Lösung für internationale Code-Projekte ist.

So? Was ist denn die Alternative? Welche andere Gruppe hat sich über Jahre hinweg mit dem Problem auseinandergesetzt und eine tragfähige Lösung entwickelt? Eevees „dunkle Ecken“ zielen darauf ab, dass nicht immer alles einfach ist in Projekten, die nicht-lateinische Zeichen verwenden (zu denen auch Emoji gehören), was eine gewachsene Melange aus Software-Entscheidungen und Sprach-Unregelmäßigkeiten bedingt, in deren Mitte sich zufällig Unicode befindet. Ja, natürlich ist dort auch nicht immer alles eitel Sonnenschein, und ja, auch der Standard selbst enthält Fehler und Unzulänglichkeiten. Ja, natürlich hängt das Ganze Richtung westeuropäischer Schriften. Aber trotzdem ist das Konsortium die einzige ernstzunehmende Gruppe, die sich dieser Probleme annimmt, die sich oftmals auch der eigenen Befangenheiten bewusst ist, und die sich mit Absicht in diese Mitte stellt.

> In den letzten zehn Jahren habe ich bei allen Web-Projekten Unicode verwendet. Das war so bar jeglicher Diskussion, dass ich die Verwendung nicht in Frage stellte. Irgendwann Anfang der Nuller stellte man halt um.

Ich habe eingangs über die unreflektierte Sichtweise des Autors gesprochen. Q.E.D.

Man hätte aus diesem Artikel so viel mehr machen können, als seine eigenen Vorurteile auf einen anderen Blogpost zu projizieren. Ich bin ehrlich enttäuscht und empfehle jedem, sich hier lieber ans Original von Eevee zu halten, eine höchst-gelungene Zusammenfassung vieler Probleme, in die man als Entwickler bei der Behandlung unterschiedlicher Schriften stößt.

Antworten

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen

Finde einen Job, den du liebst