CSV does not always declare its encoding
A CSV file contains bytes. An application must choose how those bytes become characters. UTF-8 may include a byte-order mark (BOM); without one, older import paths or regional settings can choose a different encoding. The file can look correct in one program and garbled in another without its underlying bytes having changed.
Try UTF-8 without a BOM
The Korean-text example is a synthetic UTF-8 CSV without a BOM. It contains product names, cities and codes with leading zeros. CSV Safe Open decodes valid UTF-8 strictly and shows the resulting table. The report explains that a missing BOM may affect some Excel import paths; it does not call a valid UTF-8 file corrupted.
Choose an encoding deliberately
- Use the original CSV, before a program saved the garbled text back into it.
- Start with Auto. UTF-8, UTF-16 LE and UTF-16 BE BOMs are recognized.
- If decoding fails, select the known source encoding: EUC-KR, Windows-1252 or Shift JIS. UTF-16 without a BOM requires an explicit selection.
- Check names and punctuation in the preview before exporting.
A successful decode is not proof that the chosen encoding is correct. Some byte sequences are valid in several encodings. The tool never treats an EUC-KR guess as certainty. It also leaves suspicious existing characters unchanged rather than inventing names.
Use a workbook when Excel is the destination
The output is an XLSX workbook with text cells, so the next open does not need CSV delimiter or encoding detection. Microsoft explains that UTF-8 CSV with a BOM can open normally, and Text/CSV import is an alternative. This tool adds value when you also need exact codes and a checked result.
Recovery limits
The replacement character � may indicate that a prior decode discarded bytes. This release blocks export when that character is present and asks for the original file. If the garbled text was saved as valid characters, automatic detection cannot reliably prove what the intended text was. Always inspect the preview and retain the source.