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 vancafé. - 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
- Sleep het bestand in het vak hierboven of klik om het te kiezen.
- Mojibuster leest het bestand en vertelt hoe: “Gelezen als Windows-1252 (ANSI), opgeslagen als UTF-8.”
- Controleer het voorbeeld. Ziet iets er niet goed uit, dan biedt Mojibuster met één klik een andere leeswijze aan.
- 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
ë– ANSIEB(één byte), UTF-8C3 AB(twee bytes).é– ANSIE9, UTF-8C3 A9.€– Windows-125280, ontbreekt in ISO-8859-1, UTF-8E2 82 AC.’– Windows-125292, UTF-8E2 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.
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.