Text & Google Sheets cleanup · 4 min read

CSV Accents Look Broken in Excel: Import the File as UTF-8

If München turns into München or José becomes José, the file may have been decoded with the wrong character encoding. Korean and other scripts can reveal the same problem more visibly.

Separate the file's bytes from the text you see

An encoding tells an application how to translate bytes into characters. The original UTF-8 bytes for an accented character can still be intact even when one application displays them incorrectly. That is why the first repair attempt should be a new import of the original file with the right decoding choice.

Our sample deliberately contains both Latin accents and Korean text. Inspect all four values, not just the ASCII header. A header such as city,contact can look correct under several encodings and therefore does not establish that the data rows were decoded correctly.

SymptomLikely next check
München appears as MünchenTry the original file with UTF-8 selected.
Letters have become question marks in the saved sourceFind an unchanged source before attempting recovery.
Text is correct but everything is in one columnCheck the delimiter separately.
Only one particular font shows empty boxesCheck font rendering as well as the stored text.
A receiving system rejects the first headerCheck whether it accepts a UTF-8 BOM.

Choose UTF-8 in Excel's import preview

Open a blank workbook and use Data > Get Data > From File > From Text/CSV. Select the preserved CSV. In the preview, choose 65001: Unicode (UTF-8), or the equivalent UTF-8 option under File Origin. Wording and available import commands differ by Excel version.

Select the actual delimiter as a separate setting. For this sample it is a comma. Confirm the two columns and all four non-ASCII values before loading. If UTF-8 produces errors or replacement characters, do not force it: confirm the source encoding with the exporter.

  1. Preserve the original CSV under a separate filename.
  2. Import through Text/CSV and select the documented encoding.
  3. Check München, José, 서울, and 김민수 in the preview.
  4. Load only after both characters and field boundaries look correct.
An incorrect legacy decoding may show München and José, while UTF-8 displays München and José.
Illustrated example. Synthetic illustration of a common UTF-8-to-legacy decoding mismatch.

Related help: Fix a separate problem: CSV data opening in one column

Understand what a BOM can and cannot do

A UTF-8 byte order mark is an optional initial signature with bytes EF BB BF. Microsoft documents normal opening of UTF-8 CSV files saved with a BOM. This can help Excel recognize a file when someone opens it directly, while an explicit import gives you a chance to inspect the encoding choice.

A BOM is not a different alphabet and does not repair damaged characters. Some downstream systems expect UTF-8 without it, so follow the receiver's file specification. Check the first header after import; a poorly handled signature should not become part of the field name.

Character-level verification from the synthetic sample
é  → UTF-8 bytes C3 A9
ü  → UTF-8 bytes C3 BC
서울 → retained as 서울 after UTF-8 round-trip
김민수 → retained as 김민수 after UTF-8 round-trip
Optional file-start BOM → EF BB BF

Export a corrected copy and inspect it again

Once the workbook contains the correct characters, save the working workbook if you need its spreadsheet features. When a CSV is required, choose a UTF-8 CSV export option where available, save to a new filename, and check that the intended sheet was exported.

Reimport that new file with the recipient's expected settings and compare the sample names, header count, and row count. If the characters were already wrong inside the workbook, correct them from a trusted source before exporting. Encoding the string José as UTF-8 simply preserves the wrong string in a different byte representation.

Resaving the garbled text José leaves it garbled; reimporting intact source bytes as UTF-8 can recover José.
Illustrated example. Synthetic workflow comparison: a correct output encoding preserves the text it receives, even when that text was decoded incorrectly earlier.

Recognize the limits of character recovery

If a prior export replaced unsupported characters with literal question marks, those characters may no longer be recoverable from that file alone. Look for the original export or source records. Avoid bulk substitutions that guess which names a corrupted string was meant to contain.

A UTF-8 file can also contain valid but already garbled text. Passing an encoding check therefore does not prove linguistic correctness. The Column Harbor checker reads UTF-8 CSV and flags selected risks; it does not transcode legacy encodings or restore damaged names. Compare important values with the original records after any cleanup.

Common questions

Does every UTF-8 CSV need a BOM?

No. UTF-8 does not require one. A BOM can help Excel's direct-open recognition, but the receiving application's specification should determine whether you include it.

Why are commas working while accents are broken?

Delimiter parsing and character decoding are separate decisions. A file can have correctly separated fields while non-ASCII bytes are interpreted incorrectly.

Can I fix all broken names with Find and Replace?

Only when a specific replacement is verified against trusted source data. Broad substitutions can change legitimate text and cannot reliably recover characters that were discarded.

Sources & method

Examples and diagrams use synthetic data. Application instructions follow the linked documentation; available menus and options can vary. Our sample checks do not establish behavior in every Excel or Google Sheets version. Read our AI-assisted editorial method.

Browse all field guides →