Kaputte Zeichen reparieren
Wenn aus Umlauten und Akzenten plötzlich für, ä oder „ wird, ist der Text nicht kaputt: Er wurde mit der falschen Tabelle gelesen. Hier wird die Kette rückwärts durchlaufen, und intakter Text bleibt unberührt.
klicke, um eine auszuwählen (.txt, .csv, .srt, .vtt, .md, .json), sie bleibt auf deinem Gerät
Dein Text und deine Dateien bleiben in deinem Browser: Nichts wird auf einen Server hochgeladen.
So funktioniert es
Füge den verstümmelten Text in das Feld ein und drücke „Text reparieren“, oder ziehe eine .txt-, .csv-, .srt-, .vtt-, .md- oder .json-Datei hinein. Das Tool sagt dir, welcher Kodierungsfehler passiert ist und wie viele Zeichen es wiederhergestellt hat, und zeigt ein paar Beispiele vorher und nachher, damit du prüfen kannst, ob das Ergebnis wirklich deinen Erwartungen entspricht, bevor du es kopierst oder herunterlädst.
Warum aus „für“ plötzlich „für“ wird
In UTF-8 passen Buchstaben mit Akzent oder Umlaut nicht in ein einziges Byte: é ist das Paar C3 A9, ü ist C3 BC, der typografische Apostroph ’ ist E2 80 99 und das geschützte Leerzeichen ist C2 A0. Wenn ein Programm diese Bytes erhält, aber glaubt, sie seien in Windows-1252 geschrieben (der alten „ANSI“-Tabelle, in der jedes Byte ein Buchstabe ist), zeigt es sie einzeln an: C3 A9 wird zu é, C3 BC zu ü, C2 A0 wird zu  mit einem Leerzeichen dahinter, und E2 80 99 wird zu ’. Es ist immer derselbe Fehler, und deshalb zerfallen deutsche, italienische oder französische Texte fast Satz für Satz, während Englisch oft ungeschoren davonkommt.
Wie diese Seite es repariert
Die Kette wird rückwärts durchlaufen: Jedes Zeichen wird wieder zu dem Byte, das es laut der Windows-1252-Tabelle war (einschließlich der 5 Codes, die diese Tabelle undefiniert lässt und die Programme unverändert durchreichen), dann werden diese Bytes erneut als UTF-8 gelesen. Anders als bei einem blinden Suchen und Ersetzen wird intakter Text nie angetastet: Ein einzelnes é bildet keine gültige UTF-8-Sequenz und bleibt deshalb genau so, wie es ist. Ist der Fehler zweimal hintereinander passiert (die berüchtigte doppelte Kodierung, die mit é), wird die Runde so oft wie nötig wiederholt, bis zu viermal. Es gibt auch die Mac-OS-Roman-Tabelle für Text von klassischen Macs, erkennbar an √© und ‚Äô. Eine letzte Vorsichtsmaßnahme ist gut zu wissen: In einer Überschrift in Großbuchstaben bildet ein Ù gefolgt von einem schließenden Guillemet rein zufällig ein gültiges UTF-8-Paar. Deshalb werden Sequenzen, die mit einem mehrdeutigen Zeichen beginnen, nur repariert, wenn der Text mindestens drei davon enthält, und Sequenzen, aus denen Zeichen würden, die kein echter Text enthält (Lautschrift, Armenisch), bleiben unangetastet.
Auch das umgekehrte Problem, wenn die Datei selbst alt ist
Wenn du eine Datei lädst, schaut sich das Tool zuerst die echten Bytes an. Eine Datei, die kein gültiges UTF-8 ist, wird mit der Windows-1252-Tabelle gelesen und umgewandelt zurückgegeben, und dasselbe gilt für die UTF-16-Dateien aus dem Windows-Editor (Notepad) und mancher Unternehmenssoftware. So sind beide Hälften des Problems abgedeckt: richtiger Text, der falsch gelesen wurde, und eine alte Datei, die zu UTF-8 werden muss. Der Download-Button fügt, wenn du das Kästchen angekreuzt lässt, die BOM-Markierung hinzu, die Excel braucht, um eine CSV zu öffnen, ohne die Umlaute erneut zu zerstören.
Was das Tool nicht kann, gleich vorweg
Zeichen, die als � (oder als unsichtbare Steuerzeichen) erscheinen, lassen sich nicht wiederherstellen: Dieses Byte hat schon derjenige weggeworfen, der die Datei gespeichert hat, und kein Programm kann es zurückerraten. Dasselbe gilt für Umlaute und Akzente, die zu einem Fragezeichen geworden sind. Das Tool kennt die zwei gängigen westlichen Tabellen, Windows-1252 und Mac OS Roman, rekonstruiert also weder Kyrillisch, das als Windows-1251 gelesen wurde, noch Japanisch in Shift-JIS. HTML-Entitäten wie é oder é lässt es in Ruhe, weil das ein anderes Problem ist, und es verändert nie den Inhalt: Nur die Kodierung wird korrigiert. Alles läuft in deinem Browser, die Datei wird also nirgendwo hochgeladen.