Fragezeichen statt Umlaute: ? und � richtig deuten

Statt ä, ö und ü stehen ? oder das Zeichen � im Text? Das sieht ähnlich aus, hat aber verschiedene Ursachen. Oft ist die Datei noch völlig in Ordnung – manchmal sind die Umlaute aber schon verloren. Hier erfährst du, welcher Fall vorliegt.

Funktioniert mit Text und diesen Dateien:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

Zum Beispiel Excel-Exporte, Datenbank-Dumps, Untertitel oder Website-Code.

Reparieren

  1. Datei ablegen oder Text einfügen
  2. Wird automatisch repariert
  3. Kopieren oder herunterladen
oder Datei einfach hierher ziehen

Fall 1: � in einer Datei, die eigentlich in Ordnung ist

Zeigt ein Editor, Player oder Browser M�ller, ist die Datei meist in Windows-1252 (ANSI) gespeichert und wird als UTF-8 gelesen. Das Byte des Umlauts ist in UTF-8 ungültig, deshalb setzt das Programm beim Anzeigen das Ersatzzeichen � ein. In der Datei selbst steht aber noch das richtige Byte.

Lösung: Zieh die Original-Datei in das Feld oben. Mojibuster erkennt die Kodierung beim Einlesen und wandelt die Datei in UTF-8 um. Wichtig: die Datei selbst verwenden, nicht den Text aus dem Programm kopieren – beim Kopieren wird das � endgültig.

Fall 2: � oder ? sind fest im Text gespeichert

Hat ein Programm den Text mit dem Ersatzzeichen gespeichert oder weitergegeben, ist das ursprüngliche Zeichen verloren. Dasselbe gilt für ?: Programme setzen es ein, wenn ein Zeichen in der Zielkodierung nicht existiert – etwa beim Speichern als ASCII oder beim Schreiben in eine Datenbankspalte, die kein ü kennt.

Daraus lässt sich nichts zurückrechnen, denn alle Umlaute sind zum selben Zeichen geworden. Mojibuster zeigt dir an, wie viele Stellen betroffen sind, statt zu raten. Helfen kann nur die Quelle: den Export wiederholen oder ein Backup verwenden.

Typische Ursachen für Fragezeichen

  • Datenbank: Spalte oder Verbindung stehen auf latin1 oder ascii, die Daten kommen als UTF-8. MySQL ersetzt unbekannte Zeichen dann durch ? – siehe MySQL und phpMyAdmin.
  • PowerShell 5.1: Export-Csv schreibt standardmäßig ASCII und ersetzt Umlaute durch ? – siehe PowerShell.
  • Python: encode('ascii', errors='replace') ersetzt Zeichen still durch ? – siehe Python und pandas.
  • Konsole: Die Windows-Konsole zeigt Zeichen, die ihre Codepage nicht kennt, als ? an. Hier ist meist nur die Anzeige falsch, nicht die Datei.

So erkennst du, welcher Fall vorliegt

  1. Öffne die Datei in einem Editor, der die Kodierung anzeigt, etwa Notepad++. Steht in der Statusleiste „ANSI“ oder „Windows-1252“, ist es Fall 1.
  2. Zieh die Datei in Mojibuster. Steht im Ergebnis „Gelesen als Windows-1252 (ANSI)“ und die Umlaute sind wieder da, war es Fall 1.
  3. Meldet Mojibuster verlorene Zeichen, ist es Fall 2. Dann hilft nur ein neuer Export.

Siehst du statt Fragezeichen Zeichenfolgen wie ä, ist das ein anderer Fehler – und der lässt sich fast immer reparieren: ü statt ü.

Häufige Fragen

Kann Mojibuster ? wieder in Umlaute verwandeln?

Nein. Ein ? kann für jeden Buchstaben stehen, die Information ist weg. Mojibuster ändert solche Stellen nicht, sondern zeigt dir, wie viele es sind.

Warum sehe ich � nur in einem Programm, im anderen nicht?

Dann ist die Datei in Ordnung, und nur eines der Programme liest sie mit der falschen Kodierung. Wandle sie mit Mojibuster in UTF-8 um, dann zeigen beide sie richtig an.

Was ist das Zeichen �?

Das Ersatzzeichen U+FFFD. Programme setzen es ein, wenn sie ein Byte nicht als Zeichen lesen können. Es weist auf einen Kodierungsfehler hin und gehört nicht zum eigentlichen Text.

Weitere Anleitungen