Verkeerd gecodeerde UTF-8-tekens herstellen

Of het nu uit een database, een e-mail of een website komt: plak de kapotte tekst en Mojibuster maakt van ë, € en “ weer ë, € en “.

Werkt met tekst en met deze bestanden:

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

Bijvoorbeeld exports uit Excel, databaseback-ups, ondertitels of websitecode.

Herstellen

  1. Sleep een bestand hierheen of plak tekst
  2. Het herstellen gaat automatisch
  3. Kopieer of download
of sleep een bestand hierheen
  • Geen upload. Je bestanden worden direct in je browser hersteld en verlaten je apparaat nooit.

  • Servers in de EU. Mojibuster draait op een server in Finland (EU); de Algemene verordening gegevensbescherming (AVG) is van toepassing. Tekst van de AVG (EUR-Lex)

Wat is mojibake?

Mojibake zijn onleesbare tekens die ontstaan als een tekst met de ene codering wordt opgeslagen en met een andere wordt gelezen. Meestal gaat het om UTF-8 dat per ongeluk als Windows-1252 of ISO-8859-1 wordt gelezen. Elke byte van een speciaal teken verschijnt dan als een eigen teken.

Veelvoorkomende oorzaken

  • De databaseverbinding gebruikt latin1, terwijl de gegevens in UTF-8 staan.
  • De webserver stuurt charset=ISO-8859-1, maar de pagina is opgeslagen in UTF-8.
  • Een e-mail- of nieuwsbriefprogramma geeft de verkeerde codering op.
  • Een oude website of een verhuisde WordPress-installatie mengt Latin-1- en UTF-8-gegevens.
  • Tekst wordt gekopieerd tussen programma’s die verschillende coderingen verwachten.

Twee keer kapot: ë

Wordt tekst die al kapot is nog een keer verkeerd omgezet, dan ontstaat dubbele mojibake: ë wordt eerst ë en daarna ë. Mojibuster herkent ook die niveaus en herstelt er tot drie in één keer.

Voor ontwikkelaars: de oorzaak oplossen

  • Zet <meta charset="utf-8"> in de HTML en stuur de header Content-Type: text/html; charset=utf-8.
  • Gebruik utf8mb4 in MySQL en MariaDB voor tabellen en verbinding (SET NAMES utf8mb4).
  • Sla bronbestanden op als UTF-8 zonder BOM.
  • Zet tekst maar één keer om: op de grens tussen je eigen systeem en de buitenwereld.

Veelgestelde vragen

Wat betekent het teken �?

Dat is het vervangingsteken U+FFFD. Een programma zet het neer als het een byte niet kan lezen. Het oorspronkelijke teken is dan weg; Mojibuster laat zien hoeveel plekken het betreft.

Kan ik ook HTML-codes zoals &euml; omzetten?

Ja. Zet de optie Ook HTML-codes omzetten aan. Codes als &euml;, &#235; en &#xEB; worden dan echte tekens.

Wordt mijn tekst ergens opgeslagen?

Nee. Het herstellen gebeurt in je browser. De tekst wordt niet verstuurd en niet opgeslagen.

Werkt het ook met andere talen?

Ja. Mojibuster herstelt elk teken dat vanuit UTF-8 verkeerd is gelezen, bijvoorbeeld Franse en Spaanse accenten, Duitse umlauts, emoji of Japans schrift.

Meer uitleg