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.
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).
In This Guide
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)
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.
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.
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.
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
| 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 |
4. Common Pitfalls to Avoid
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
How to Convert TXT to Excel Without Losing Data
Safely convert plain text and TXT files to Excel without losing leading zeros, converting IDs to scientific notation, or corrupting accented characters.
Troubleshooting GuideHow to Fix CSV Files Opening in One Column in Excel
Fix CSV files opening in a single column in Excel. Use Text to Columns, Power Query, regional separator fixes, or our free converter without data loss.
Authoritative Technical References & Standards
- • IETF RFC 4180 Specification: Common Format and MIME Type for Comma-Separated Values (CSV) Files.
- • Microsoft Excel Documentation: Import or export text (.txt or .csv) files in Microsoft Excel.
- • Unicode Consortium Standards: UTF-8, UTF-16, and Byte Order Mark (BOM) Specifications.