Der Weg vom Buchstaben zum Bildschirm

Ein Text besteht für Menschen aus Zeichen, eine Datei zunächst aber aus Bytes, also aus technischen Zahlenwerten. Damit daraus wieder ein Buchstabe wird, braucht das Programm eine Zeichenkodierung. Sie legt fest, welcher Zahlenwert für welches Zeichen steht und wie viele Bytes dafür gelesen werden. Bevor Sie den Vorgang beginnen, sollten die Originaldatei und die vermutete Zeichenkodierung beisammenliegen; FlinkTools dient dabei als Zeichenzaehler für einen sichtbaren Vergleich.

Wo die Annahme auseinanderläuft

Beim Speichern übersetzt das erste Programm Zeichen in Bytes. Beim Öffnen muss das zweite Programm dieselben Bytes nach derselben Regel zurückübersetzen. Kennt die Datei ihre Kodierung nicht eindeutig oder wird die Angabe ignoriert, nimmt das Programm eine eigene Vorgabe an. Ein Umlaut, der in einer modernen Kodierung mehrere Bytes belegt, wird dann so gelesen, als gehörten diese Bytes zu mehreren eigenständigen Zeichen. Auf dem Bildschirm erscheinen etwa ein fremdes Sonderzeichen und ein weiterer Buchstabe statt des ursprünglichen Umlauts.

Die Datei ist nicht automatisch beschädigt

Der sichtbare Zeichensalat beweist nicht, dass der Inhalt beim Speichern verloren ging. Oft liegen die ursprünglichen Bytes noch unverändert vor; nur die Auslegung ist falsch. Wird ein solcher Text allerdings geöffnet und erneut gespeichert, kann das Programm den bereits falsch dargestellten Zeichensalat als neuen Inhalt ablegen. Dann gehen die ursprünglichen Zeichen beim nächsten Übersetzungsschritt tatsächlich verloren. Deshalb ist die unveränderte Originaldatei der wichtigste Ausgangspunkt für die Fehlersuche.

Woran Sie den Fehler erkennen

Typisch sind regelmäßig wiederkehrende fremde Zeichen an Stellen, an denen Umlaute oder andere Sonderzeichen stehen sollten. Der übrige Text bleibt oft lesbar, weil viele einfache Buchstaben in verschiedenen Kodierungen denselben Wert besitzen. Auch eine Fehlermeldung über ungültige Zeichen, leere Kästchen oder Fragezeichen deutet auf ein Kodierungsproblem hin. Ein einzelnes fehlendes Zeichen kann dagegen ebenso durch eine nicht unterstützte Schrift, eine beschädigte Datei oder eine fehlerhafte Übertragung entstehen.

Warum UTF-8 nicht überall automatisch genügt

UTF-8 ist heute eine verbreitete Kodierung und kann viele Schriften und Zeichen darstellen. Das allein macht eine Datei aber nicht eindeutig. Ein älteres Programm, ein Export aus einer Tabellenkalkulation oder ein festgelegtes Austauschformat kann eine andere Kodierung erwarten. Entscheidend ist daher nicht nur, ob eine Kodierung grundsätzlich geeignet ist, sondern ob beim Schreiben, Übertragen und Lesen dieselbe Vereinbarung gilt. Eine Kennzeichnung in den Dateiinformationen oder im Dokumentkopf kann diese Verständigung ermöglichen; fehlt sie, muss das empfangende Programm raten.

Die Reparatur beginnt vor dem Speichern

Öffnen Sie die Kopie der Datei zunächst in einem Programm, das die Zeichenkodierung ausdrücklich auswählen lässt. Prüfen Sie eine vermutete Einstellung an mehreren Stellen des Textes, nicht nur an einem Umlaut. Wenn der Inhalt wieder plausibel aussieht, speichern Sie ihn in einer eindeutig angegebenen, von allen beteiligten Programmen unterstützten Kodierung. Bei Tabellen, Datenbanken oder Importen muss zusätzlich geklärt werden, welches Trennzeichen und welche Spaltenstruktur gelten; eine richtige Zeichenkodierung macht eine falsch eingelesene Tabelle nicht automatisch richtig.

Wenn die Ursache außerhalb des Textes liegt

Bleibt die Darstellung trotz anderer Kodierung fehlerhaft, liegt das Problem möglicherweise bei der Schrift oder bei einer beschädigten Datenübertragung. Ein leeres Quadrat bedeutet häufig, dass das Programm das Zeichen kennt, aber keine passende Schrift dafür verwendet. Werden Zeichen beim Kopieren verändert, können auch Zwischenablage, E-Mail-Programm oder Dateiformat beteiligt sein. Bei wichtigen Rechnungen, Formularen oder archivierten Dokumenten sollte die fehlerhafte Datei nicht weiter überschrieben werden. Eine technische Prüfung durch die zuständige IT-Stelle oder die Person, die das Austauschformat eingerichtet hat, klärt dann, an welcher Station die Annahme gewechselt hat.