ANSI omzetten naar UTF-8

Heb je een bestand in ANSI, Windows-1252 of ISO-8859-1 en wil je het in UTF-8? Sleep het in het vak hierboven. Mojibuster herkent de codering, laat je de letters met accenten controleren en slaat het bestand op als UTF-8.

Werkt met tekst en met deze bestanden:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • SMI
  • 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

Wanneer heb je dit nodig?

  • Een CSV-export uit oudere boekhoudsoftware, een ERP-systeem of internetbankieren staat in ANSI, en het nieuwe systeem of de import van je webshop verwacht UTF-8.
  • Een tekstbestand uit een ouder Windows-programma toont op een Mac, onder Linux of in Git caf� in plaats van café.
  • Een website, database of script leest het bestand als UTF-8 en loopt vast bij de eerste letter met een accent.
  • Oude ondertitelbestanden tonen op de tv blokjes in plaats van accenten. Daarvoor is er een aparte handleiding: ondertitels met rare tekens herstellen.

Zo zet je het bestand om

  1. Sleep het bestand in het vak hierboven of klik om het te kiezen.
  2. Mojibuster leest het bestand en vertelt hoe: “Gelezen als Windows-1252 (ANSI), opgeslagen als UTF-8.”
  3. Controleer het voorbeeld. Ziet iets er niet goed uit, dan biedt Mojibuster met één klik een andere leeswijze aan.
  4. Klik op Downloaden. Ga je het bestand in Excel openen, laat dan Opslaan met BOM aangevinkt.

Wat betekent “ANSI” eigenlijk?

“ANSI” is de naam die Windows gebruikt voor de oude tekentabel van het systeem. Op een Nederlandstalige of andere West-Europese Windows is dat Windows-1252. Met het American National Standards Institute heeft het niets te maken: de naam is historisch gezien gewoon verkeerd. ISO-8859-1 (Latin-1) is bijna hetzelfde. Alleen tussen de bytes 80 en 9F voegt Windows-1252 tekens toe, zoals €, “, ’ en –.

Het verschil in bytes

  • ë – ANSI EB (één byte), UTF-8 C3 AB (twee bytes).
  • é – ANSI E9, UTF-8 C3 A9.
  • € – Windows-1252 80, ontbreekt in ISO-8859-1, UTF-8 E2 82 AC.
  • ’ – Windows-1252 92, UTF-8 E2 80 99.
  • Gewone letters, cijfers en leestekens zoals , zijn in alle drie de coderingen gelijk. Daarom zie je het probleem alleen bij accenten, valutatekens en gekrulde aanhalingstekens.

Zo herken je een ANSI-bestand

Open je een ANSI-bestand als UTF-8, dan is de byte van een letter met accent daar ongeldig. Programma’s tonen dan �, Notepad++ toont kleine blokjes zoals xE9. De juiste byte staat nog gewoon in het bestand, dus bij het omzetten gaat er niets verloren. Of er al een ? blijvend in het bestand staat, lees je bij vraagtekens in plaats van letters.

Het omgekeerde geval: UTF-8 gelezen als ANSI

Zie je ë in plaats van ë of é in plaats van é, dan staat het bestand al in UTF-8 en wordt het alleen als ANSI gelezen, meestal door Excel. Dan hoef je niets om te zetten: open het bestand op de juiste manier of herstel de kapotte tekens die al zijn opgeslagen. Zie rare tekens in Excel en kapotte UTF-8-tekens herstellen. Ook dit geval herkent Mojibuster.

UTF-8-bestand geopend als ANSI

Zo zie je het

Financiën: één café, geïnteresseerd in coördinatie – € 12

Zo hoort het

Financiën: één café, geïnteresseerd in coördinatie – € 12

Andere manieren

  • Excel: open het bestand en kies Bestand → Opslaan als → bestandstype CSV UTF-8 (door komma’s gescheiden). Controleer eerst of de accenten er na het openen goed uitzien.
  • Notepad++: kies in het menu Codering eerst ANSI en daarna Converteren naar UTF-8. Stap voor stap in Notepad++ en codering.
  • PowerShell en Python: geef bij het inlezen de oude codering op, anders maak je nieuwe kapotte tekens. Zie PowerShell en pandas.

Veelgestelde vragen

Gaan er tekens verloren bij het omzetten?

Nee. Elk teken uit Windows-1252 en ISO-8859-1 bestaat ook in UTF-8. Alleen tekens die al als ? waren opgeslagen, blijven ?.

Is ANSI hetzelfde als ISO-8859-1 of Latin-1?

Bijna. Windows-1252 heeft daarnaast ook €, gekrulde aanhalingstekens en streepjes. Mojibuster leest beide goed, want Windows-1252 bevat alle tekens van ISO-8859-1.

UTF-8 met of zonder BOM?

Met BOM voor Excel, anders toont Excel weer ë in plaats van ë. Zonder BOM voor websites, databases en broncode.

Wordt mijn bestand geüpload?

Nee. Het omzetten gebeurt volledig in je browser, ook bij grote CSV-exports. Het bestand verlaat je apparaat niet.

Meer uitleg