Was ist Mojibake?
Mojibake ist Zeichensalat, der entsteht, wenn Text in einer Kodierung gespeichert und in einer anderen gelesen wird. Am häufigsten wird UTF-8 fälschlich als Windows-1252 oder ISO-8859-1 gelesen. Jedes Byte eines Sonderzeichens erscheint dann als eigenes Zeichen.
Typische Ursachen
- Die Datenbankverbindung nutzt
latin1, obwohl die Daten UTF-8 sind. - Der Webserver sendet
charset=ISO-8859-1, die Seite ist aber in UTF-8 gespeichert. - Ein E-Mail-Programm oder Newsletter-Tool gibt die falsche Kodierung an.
- Text wird zwischen Programmen kopiert, die unterschiedliche Kodierungen erwarten.
Doppelt kaputt: ä
Wird bereits kaputter Text noch einmal falsch umgewandelt, entsteht doppeltes Mojibake: Aus ä wird erst ä, dann ä. Mojibuster erkennt auch diese Stufen und repariert bis zu drei auf einmal.
Für Entwickler: die Ursache beheben
- Setze in HTML
<meta charset="utf-8">und sende den HeaderContent-Type: text/html; charset=utf-8. - Nutze in MySQL und MariaDB
utf8mb4für Tabellen und Verbindung (SET NAMES utf8mb4). - Speichere Quelltext-Dateien als UTF-8 ohne BOM.
- Wandle Text nur einmal um – an der Grenze zwischen deinem System und der Außenwelt.
Häufige Fragen
Was bedeutet das Zeichen �?
Das ist das Ersatzzeichen U+FFFD. Ein Programm setzt es ein, wenn es ein Byte nicht lesen konnte. Das ursprüngliche Zeichen ist dann verloren – Mojibuster zeigt dir an, wie viele Stellen betroffen sind.
Kann ich auch HTML-Codes wie ä umwandeln?
Ja. Aktiviere die Option Auch HTML-Codes umwandeln. Dann werden Codes wie ä, ä und ä in echte Zeichen übersetzt.
Wird mein Text gespeichert?
Nein. Die Reparatur läuft in deinem Browser. Der Text wird weder übertragen noch gespeichert.
Funktioniert das auch mit anderen Sprachen?
Ja. Mojibuster repariert alle Zeichen, die als UTF-8 falsch gelesen wurden – etwa französische Akzente, spanische Sonderzeichen, Emojis oder japanische Schrift.