Why encoding errors happen
CSV is a text format, but the bytes still need an encoding. A file written as Windows-1252, EUC-KR, or Shift-JIS can look correct in the program that created it and become garbled when another system assumes UTF-8. Names such as José, Müller, or Korean and Japanese text are often where the problem first becomes visible.
Why Auto mode stops at “Non-UTF-8 ?”
The browser can validate UTF-8 strictly, but it does not expose a dependable universal charset detector for arbitrary legacy CSV files. CSVFixLab therefore makes a deliberate distinction: it can prove that a byte sequence is valid UTF-8, but it does not claim that a non-UTF-8 file must be Windows-1252, EUC-KR, or Shift-JIS.
When Auto cannot validate UTF-8, the repair button remains disabled until you select the source encoding you actually know.
A reproducible example
This fixture contains accented characters encoded as Windows-1252. Auto can prove that the bytes are not valid UTF-8, but the user must confirm the source encoding.
name,city,note
José,Montréal,Café résumé
Müller,Zürich,Crème brûléename,city,note
José,Montréal,Café résumé
Müller,Zürich,Crème brûléeWhat the checker can prove from the file
- The visible characters are the intended data; only the byte encoding changes during a safe conversion.
- Auto should report an unknown non-UTF-8 source instead of inventing a charset label.
- After Windows-1252 is explicitly selected, the same text can be decoded and re-exported as UTF-8.
Confirm the source encoding from the system that produced the file, then convert and re-open the UTF-8 copy to verify non-ASCII text.
Do not repeatedly open and save a garbled preview; that can turn a reversible encoding mismatch into permanent character corruption.
Reproduce the behavior
Read the underlying rule
How to verify the converted file
- Use Auto first. If the file is valid UTF-8, no conversion is needed for encoding alone.
- If Auto says Non-UTF-8 ?, identify the source encoding from the export settings or originating application.
- Select that source encoding and review the preview/report.
- Download the repaired copy only when the CSV structure is otherwise safe.
- Upload the repaired file again with Auto. A successful conversion should now validate as UTF-8.