TextToTable
Encoding Troubleshooting6 min read• Updated 2026-11-01

How CSV Encoding Causes Strange Characters in Excel (UTF-8 & BOM Fix)

Customer names with accents, international currency symbols (€, ¥, £), and non-Latin scripts (Japanese, Arabic, German umlauts) turn into unreadable garbled symbols when opened in Microsoft Excel.

Quick Resolution (Direct Answer)

Strange characters like "München" or "Café" appear in Excel because the CSV file was saved in UTF-8 without a Byte Order Mark (BOM). When you double-click a CSV, legacy versions of Excel assume the file uses your computer's local ANSI/Windows-1252 code page rather than UTF-8. The multi-byte UTF-8 sequence for accented letters is misinterpreted as two separate ANSI characters (a phenomenon called Mojibake). You can fix this by saving the file as "CSV UTF-8 (Comma delimited) (*.csv)" in Excel, adding the UTF-8 BOM (`EF BB BF`) in Notepad, or importing via Data → From Text/CSV with File Origin set to 65001: Unicode (UTF-8).

1. Why Does This Problem Happen? (Root Causes)

Missing UTF-8 BOM: Most modern programming frameworks (Python, Node.js, Go) export UTF-8 without a BOM by default. Windows Excel traditionally requires the 3-byte BOM prefix (`EF BB BF`) to recognize a CSV as UTF-8.

ANSI Fallback: Without the BOM, Excel defaults to local legacy code pages (Windows-1252 in North America/Western Europe, Windows-1251 in Eastern Europe, Shift-JIS in Japan).

Mojibake Phenomenon: In UTF-8, the letter "é" is encoded as two bytes (`C3 A9`). When parsed as Windows-1252, byte `C3` displays as `Ã` and byte `A9` displays as `©`, producing `é`.

2. How to Fix It (Step-by-Step Methods)

1

Method 1: Safe Import with File Origin 65001

Open Excel. Go to Data → From Text/CSV. Select your file. At the top of the preview dialog, look for the "File Origin" dropdown. Change it from "Windows (ANSI)" to "65001: Unicode (UTF-8)". Click Load.

2

Method 2: Add UTF-8 BOM in Windows Notepad

Right-click your CSV file → Open with → Notepad. Click File → Save As. In the Save As dialog, at the bottom next to "Encoding", select "UTF-8 with BOM" (or "UTF-8" in modern Windows 11 Notepad). Save and reopen in Excel.

3

Method 3: Paste and Convert via TextToTable

Paste your international text into TextToTable. Browser JavaScript handles UTF-8 characters natively without byte-order confusion. Download as XLSX — Excel workbooks use native XML UTF-8 encoding that displays all languages flawlessly.

3. Verified Test Fixture & Output

Reproducible test input and the verified multi-column result.

Test in Tool→
Raw Input TextUnformatted Data
City,Country,Currency,SamplePhrase
München,Deutschland,€ 50,Guten Tag
Montréal,Canada,$ 75 CAD,Café au lait
São Paulo,Brasil,R$ 120,Atenção
Expected Structured Output✓ Clean Excel Grid
CityCountryCurrencySamplePhrase
MünchenDeutschland€ 50Guten Tag
MontréalCanada$ 75 CADCafé au lait
São PauloBrasilR$ 120Atenção

4. Common Pitfalls to Avoid

⚠️ Caution:Saving as generic CSV in older Excel versions, which forces conversion to ANSI and irreversibly replaces unsupported characters with question marks (`???`).
⚠️ Caution:Double-clicking UTF-8 CSVs without a BOM on older Excel 2013 or 2016 versions.

5. Frequently Asked Questions

What is a Byte Order Mark (BOM)?

A BOM is a special 3-byte sequence (`0xEF, 0xBB, 0xBF`) placed at the very start of a text file to signal to reading programs that the file is encoded in UTF-8.

Why does Google Sheets handle UTF-8 better than Excel?

Google Sheets runs in web browsers where UTF-8 has been the universal standard for decades. Sheets automatically parses non-BOM UTF-8 files correctly on upload.

Related Guides & Tutorials

Authoritative Technical References & Standards