Zeichenkodierung erkennen und Mojibake reparieren

Zeichenkodierung erkennen für Text- und CSV-Dateien: BOM, UTF-8-Gültigkeit, Windows-1252 und UTF-16 prüfen, Vorschau in anderen Kodierungen und Mojibake wie „ä“ reparieren.

Ohne eigene Datei

Vorschau

Mojibake reparieren

Kaputter Text
Reparierter Text

Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

Encoding erkennen: BOM, UTF-8 und Windows-1252

Dieses Werkzeug hilft, die Zeichenkodierung zu erkennen, wenn Umlaute in einer Datei kaputt aussehen. Es liest die Datei als Bytes und prüft, ob am Anfang ein BOM (Byte Order Mark) steht, ob die Bytes gültiges UTF-8 sind und an welcher Stelle der erste Fehler liegt, ob Bytes von 0x80 bis 0x9F vorkommen, die typisch für Windows-1252 sind, und ob viele Null-Bytes auf UTF-16 hindeuten. Daraus ergibt sich eine begründete Einschätzung. Mit „Vorschau als“ können Sie andere Kodierungen ausprobieren und die Datei als UTF-8 speichern.

Ein sicheres Encoding erkennen ist allerdings nicht möglich: Eine Datei aus reinen ASCII-Zeichen ist gleichzeitig gültiges UTF-8, Windows-1252 und ISO-8859-15, und zwischen den 8-Bit-Kodierungen lässt sich nur anhand typischer Zeichen raten. Die Prüfung, ob eine Datei gültiges UTF-8 ist, ist dagegen zuverlässig: Zufällige Bytes ergeben fast nie gültige UTF-8-Folgen. Dateien mit Umlauten, die nicht UTF-8 sind, stammen in Deutschland meist aus Windows-1252, das ISO-8859-1 um Zeichen wie €, „ und – erweitert.

Mojibake nennt man Zeichensalat wie „Grüße“ statt „Grüße“. Er entsteht, wenn UTF-8-Bytes als Windows-1252 gelesen und erneut gespeichert werden. Der Teil „Mojibake reparieren“ kehrt das um, auch bei doppelter Falschkodierung, und repariert nur die betroffenen Stellen. Steht im Text bereits das Ersatzzeichen �, ist die Information verloren. Wer einzelne Zeichen genauer ansehen und UTF-8 prüfen möchte, nutzt den UTF-8-Byte-Zähler.

Anleitung: Zeichenkodierung erkennen in 4 Schritten

  1. Mit „Datei wählen“ eine Text- oder CSV-Datei laden; das Ergebnis der Prüfung erscheint sofort.
  2. Unter „Vorschau als“ andere Kodierungen ausprobieren, bis Umlaute richtig erscheinen.
  3. Mit „Als UTF-8 speichern“ eine umgewandelte Kopie herunterladen.
  4. Kaputten Text wie Grüße unten bei „Mojibake reparieren“ einfügen und das reparierte Ergebnis kopieren.

Typische Anwendungsfälle

  • Eine CSV-Datei aus Excel oder einem alten Warenwirtschaftssystem vor dem Import prüfen.
  • Herausfinden, warum eine Website oder ein Datenbankexport „ä“ statt „ä“ zeigt.
  • Ein störendes BOM am Anfang von PHP-, JSON- oder Shell-Dateien aufspüren.
  • Textdateien von Windows-1252 nach UTF-8 umwandeln.
Fragen

Häufige Fragen

Wie erkenne ich, ob eine Datei UTF-8 ist?

Laden Sie die Datei hier. Sind alle Bytes gültige UTF-8-Folgen und kommen Umlaute vor, ist es mit sehr hoher Wahrscheinlichkeit UTF-8. Besteht die Datei nur aus ASCII-Zeichen, ist sie mit UTF-8 verträglich.

Warum steht ä statt ä in meinem Text?

Der Text wurde als UTF-8 gespeichert, aber als Windows-1252 oder ISO-8859-1 gelesen. Das ä besteht in UTF-8 aus den Bytes C3 A4, die in Windows-1252 als à und ¤ erscheinen.

Was ist ein BOM?

Das Byte Order Mark ist eine unsichtbare Markierung am Dateianfang: EF BB BF für UTF-8, FF FE für UTF-16 Little Endian. Excel erkennt UTF-8-CSV-Dateien oft nur mit BOM.

Was ist der Unterschied zwischen ISO-8859-1 und Windows-1252?

Windows-1252 belegt den Bereich 0x80 bis 0x9F mit druckbaren Zeichen wie €, „, “, – und …, ISO-8859-1 dort nur mit Steuerzeichen. Browser behandeln ISO-8859-1 deshalb als Windows-1252.

Werden meine Dateien hochgeladen?

Nein. Die Datei wird mit der FileReader-Schnittstelle im Browser gelesen und dort ausgewertet.

Wie speichere ich in Excel eine CSV als UTF-8?

Unter „Speichern unter“ den Dateityp „CSV UTF-8 (durch Trennzeichen getrennt)“ wählen. Excel schreibt dann UTF-8 mit BOM; ältere Versionen ohne diese Option speichern in der Windows-Codepage.

Warum zeigt mein Text Fragezeichen in Rauten (�)?

Das Ersatzzeichen U+FFFD erscheint, wenn ein Programm ungültige Bytes beim Dekodieren verworfen hat. Die ursprünglichen Zeichen sind dann verloren und lassen sich nur aus der Originaldatei wiederherstellen.

Weitere Werkzeuge

Das könnte auch helfen

Alle 558 Werkzeuge