Zum Inhalt springen
Sprache: DE

Umlaute kommen nach dem Schreiben falsch zurück

Ein Textdatensatz gibt an, welche Kodierung er nutzt, und ein Werkzeug, das die eine schreibt, während ein anderes etwas anderes annimmt, erzeugt beim Lesen entstellte Umlaute. Die Zeichen sind auf dem Tag unversehrt; falsch ist die Übereinkunft darüber, wie sie zu deuten sind.

Der Datensatz gibt seine Kodierung an

Ein Textdatensatz trägt mehr als die Zeichen. Er trägt außerdem einen Hinweis darauf, wie diese Zeichen kodiert sind, und einen Sprachcode.

Ein Lesegerät nimmt diesen Hinweis, um Bytes wieder in Buchstaben zu verwandeln. Stimmen Angabe und Wirklichkeit überein, kommen Umlaute genau so zurück, wie sie geschrieben wurden.

Stimmen sie nicht überein, sind die Bytes unversehrt und die Deutung ist falsch, weshalb das Ergebnis entstellt und nicht fehlend ist.

Zeichen außerhalb des lateinischen Bereichs ohne Diakritika kosten außerdem mehr als ein Byte je Zeichen, Text mit Umlauten braucht also mehr Raum, als seine Zeichenzahl vermuten lässt.

Wo es schiefgeht

Ein Schreibwerkzeug, das eine Kodierung angibt und eine andere schreibt. Der Tag widerspricht sich dann selbst, und jedes Lesegerät liegt daneben.

Ein Lesewerkzeug, das die Angabe übergeht und eine Vorgabe annimmt. Der Tag ist richtig, und ein bestimmtes Lesegerät zeigt ihn schlecht an.

Inhalt, der aus einer Quelle mit anderer Kodierung eingefügt wurde und beim Schreibwerkzeug bereits beschädigt ankommen kann. Der Tag speichert dann getreu Zeichen, die schon falsch waren, bevor sie dorthin gelangten.

Lesen Sie den Tag mit einem zweiten Werkzeug, um das auseinanderzuhalten. Sind zwei Lesegeräte uneins, ist der Tag in Ordnung und eines der beiden liegt falsch. Sind beide einig, dass es falsch ist, trägt der Tag das, was geschrieben wurde.

Adressen sind ein eigener Fall

Eine Webadresse ist kein freier Text. Zeichen außerhalb des erlaubten Vorrats müssen prozentkodiert werden, und eine Adresse mit rohen Umlauten arbeitet womöglich nicht, auch wenn sie einwandfrei gespeichert ist.

Manche Werkzeuge kodieren sie für Sie und manche nicht, weshalb sich eine Adresse mit Umlauten im Pfad je nach dem, was sie geschrieben hat, anders verhalten kann.

Internationalisierte Domainnamen haben ihre eigene Umwandlung, die der Browser vornimmt und nicht der Tag.

Der Tag speichert Zeichen in all diesen Fällen getreu. Was sich unterscheidet, ist, ob das Gespeicherte eine gültige Adresse war.

Es ganz vermeiden

Nehmen Sie Zeichen ohne Diakritika für alles, was unmittelbar auf einen Tag geschrieben wird und wo die Bedeutung das übersteht. Das ist nicht elegant, und es nimmt eine ganze Klasse von Ausfällen weg.

Halten Sie Text mit Umlauten auf einer Seite statt auf einem Tag, und schreiben Sie stattdessen eine kurze Adresse. Eine Webseite beherrscht ihre eigene Kodierung und wird überall richtig angezeigt.

Prüfen Sie mit dem wirklichen Text an einem Telefon, mit dem Sie nicht geschrieben haben, denn ein Schreibwerkzeug, das seine eigene Ausgabe zurückliest, kann eine Uneinigkeit verdecken.

Und prüfen Sie die Länge nach jeder Änderung an Text mit Umlauten, denn diese Zeichen kosten mehr als ein Byte, und eine Nachricht, die hineinpasste, passt womöglich nicht mehr.

Häufige Fragen

Speichert der Tag die falschen Zeichen?

Meist nicht. Die Bytes sind unversehrt und die Deutung ist falsch, weshalb das Ergebnis entstellt und nicht leer ist.

Brauchen Umlaute mehr Platz?

Ja. Zeichen außerhalb des lateinischen Bereichs ohne Diakritika kosten mehr als ein Byte je Zeichen, Text mit Umlauten ist also größer als seine Zeichenzahl.

Warum zeigen zwei Apps ihn verschieden?

Weil eine die angegebene Kodierung achtet und die andere eine Vorgabe annimmt. Diese Uneinigkeit ist der Fehler.

Kann ich Umlaute in eine URL auf einem Tag setzen?

Sie müssen prozentkodiert werden, um gültig zu sein, und nicht jedes Werkzeug tut das für Sie. Ein Pfad ohne Umlaute umgeht die Frage.