CSV UTF-8 Encoding: A Practical Guide
If your CSV shows characters like "é" instead of "é", you have an encoding mismatch — the file was saved in one encoding and opened in another. The fix is to save and read CSVs as **UTF-8**, ideally with a BOM (byte-order mark) so older Excel versions detect it automatically.
Why UTF-8 (and why BOM)
UTF-8 can represent every character in every language — Latin accents, Cyrillic, Arabic, CJK, emoji. It's the default for the modern web and most databases. The BOM is 3 invisible bytes at the start of the file (EF BB BF) that tell Excel "this is UTF-8" — without it, older Excel guesses based on system locale and often guesses wrong.
How CSV.si handles encoding
Files exported from CSV.si are UTF-8 by default. We include the BOM so Excel for Windows opens them with correct characters on a double-click — no Power Query gymnastics needed.
Fixing an existing broken CSV
Open the file in VS Code, look at the bottom-right corner for the current encoding, click it, choose Reopen with Encoding → UTF-8. If the text is now readable, save it back via Save with Encoding → UTF-8 with BOM.
Frequently asked questions
What is mojibake?
The garbled-looking text you get from an encoding mismatch — e.g. 'café' becoming 'café' because UTF-8 bytes were interpreted as Latin-1.
Do I always need a BOM?
No — APIs, databases, and most modern tools don't need it. Add the BOM specifically for Excel on Windows.