Guide · 2 min read

Zürich instead of Zürich: what went wrong, and how to fix it.

Garbled accents are almost always one thing: a file written in one encoding and read in another. Here is how to recognise which, how to open it correctly, and how to send it on so it arrives intact.

What an encoding is

A file is bytes. An encoding is the agreement about which bytes mean which characters. Plain letters and digits are the same in almost every encoding; accents, umlauts, the euro sign and every non-Latin script are not. In UTF-8, ü is two bytes, C3 BC. In Windows-1252 — what Windows has long used for Western European text — it is one byte, FC.

Reading the symptoms

You seeInstead ofWhat happened
Zürich, Genève, CaféZürich, Genève, CaféUTF-8 read as Windows-1252 or Latin-1
€UTF-8 read as Windows-1252
Z�rich or Z?richZürichWindows-1252 read as UTF-8
Z√ºrichZürichUTF-8 read as Mac Roman

The first row is by far the most common: a modern system writes UTF-8, and a program that expects a regional encoding reads it. Excel, for instance, generally needs a byte-order mark at the start of a UTF-8 CSV to recognise it — which is why it offers a separate CSV UTF-8 format when saving.

Opening the file correctly

Intact CSV Editor detects the encoding when a file opens — over 80 of them, including UTF-16, Windows code pages, Mac Roman, DOS pages, East Asian encodings and EBCDIC — and says in the status bar what it found and how sure it is. If a file is ambiguous, pick the encoding in the Format inspector and the file is read again. Re-reading changes nothing on disk.

For a folder that always receives the same kind of file, a rule in Settings ▸ Rules fixes the encoding once — ~/Exports/Bank is Windows-1252, for example — and detection is set aside for those files.

Saving so that it arrives intact

By default the file is saved in the encoding it came in, with its byte-order mark if it had one. To send it to a system that wants something else, choose the encoding in the export sheet — and if a value contains a character that encoding cannot hold, such as a € in a Latin-1 file, the save stops and names the character and the cell. It is never quietly written as a question mark.

When the garbling is already in the file

If somebody opened the file wrongly and saved it, the garbled characters are now real text in the file. Opening it with another encoding will not help, because the bytes now spell ü. Repair it with Find and Replace on the common pairs — üü, öö, ää, Ã©é — and preview the changes before replacing them all.

Try it on your own file

Intact CSV Editor is free for seven days, fourteen with an account — every feature, no card. Download the free trial.

Questions

Common questions

Why do umlauts look wrong in my CSV?

The file was written in one encoding (usually UTF-8) and read in another (usually Windows-1252 or Mac Roman).

How do I know which encoding a CSV uses?

Open it in Intact CSV Editor: the status bar and the Format inspector say which encoding was detected and how confident the app is.

What is a BOM?

A byte-order mark: a few bytes at the start of a file that announce a Unicode encoding. Some programs need it to recognise UTF-8; Intact CSV Editor keeps it if the file had one and adds it only if you ask.

Open your most difficult file.

Every feature for seven days, fourteen with a free account. No card, and your files never leave your Mac.

Download free trial

macOS 14 Sonoma or later · See pricing