A merchant platform rejecting your feed with “CSV file is not UTF-8 encoded,” or accented characters showing up as é or ? when you open the file, are both encoding problems. The good news: CTX Feed already writes CSV, TSV and TXT feeds in UTF-8, so in almost every case the file itself is fine — the error comes from how the file is opened, edited, or submitted, not from CTX Feed. This guide explains what UTF-8 encoding is, why the error appears, and how to fix it.
Why this error appears
UTF-8 is the universal text encoding that lets a file hold characters from any language — accents, symbols, non-Latin scripts. When a file isn’t UTF-8, those characters get garbled, and platforms like Google Merchant Center refuse it. The three common causes:
- You opened the feed in Excel, edited it, and re-saved it. Excel often re-saves CSV in a local Windows encoding (like Windows-1252), which is not UTF-8. Uploading that re-saved copy is the number-one cause of this error.
- You downloaded the file and re-uploaded a copy that passed through a tool that changed the encoding.
- A product contains invalid characters — text pasted from Word, a corrupted description, or content stored in a non-UTF-8 database — so a few bytes in the file aren’t valid UTF-8.
Fix 1 — Submit the feed URL, don’t upload a re-saved file
This solves the vast majority of cases. Instead of downloading the CSV, editing it, and uploading the file, give the channel your feed URL directly:
- Go to CTX Feed → Manage Feeds.
- In the Feed URL column, click Copy to copy the feed’s public URL.
- Paste that URL into the channel’s scheduled-fetch setting (Google Merchant Center → Feeds → Add primary feed → Scheduled fetch; Meta Commerce Manager → Data sources → Scheduled feed).
Because the channel fetches the file CTX Feed generated — untouched, UTF-8 — the encoding is always correct, and every regeneration is picked up automatically. Never open the file in Excel and re-upload it.
Fix 2 — Turn on the UTF-8 BOM for Excel
If you need to open the file in Excel and see characters correctly, add a byte-order mark (BOM). A BOM is a few invisible bytes at the start of the file that tell Excel “this is UTF-8.” CTX Feed has an opt-in setting for this:
- Open the feed in Make Feed (edit it from Manage Feeds).
- In Feed settings, find the UTF-8 BOM dropdown (it appears for CSV, TSV and TXT feeds).
- Choose Add UTF-8 BOM — the hint reads “Prepend a byte-order mark so Excel reads it as UTF-8.”
- Save & generate.
Leave this off (No BOM) for feeds you submit by URL, since some importers prefer a plain UTF-8 file without a BOM. Use it only when Excel is your audience.
Fix 3 — Open the file the right way
If you just need to view the data without breaking it:
- Google Sheets — File → Import → Upload; Sheets reads UTF-8 correctly by default.
- Excel — don’t double-click the file. Open Excel, then use Data → From Text/CSV, and in the import dialog set File Origin to 65001: Unicode (UTF-8).
- Whatever you do, if you plan to send the file to a channel, don’t save over it from Excel — export the CTX Feed file fresh or use the URL.
Fix 4 — Clean the source data
If a specific field or product breaks the file, the character is likely coming from your product content:
- Re-type or paste-as-plain-text any description copied from Word or a PDF, which can carry hidden non-UTF-8 characters.
- On a problem column, set the mapping row’s Output column to UTF-8 Encode (or Strip Tags) to sanitize the value before it’s written.
- Confirm your WordPress database uses a UTF-8 charset (
utf8mb4); most modern installs already do.
Troubleshooting
- Google still says “not UTF-8 encoded.” You’re almost certainly uploading an Excel-saved copy. Switch to the feed URL (Fix 1) and remove the manually uploaded file.
- Characters look fine in Excel but the channel rejects the file. Turn the UTF-8 BOM off — a BOM you added for Excel can upset a strict importer. Submit by URL.
- Only one product breaks the feed. Open that product and clean its description or title (Fix 4), then regenerate.
- The feed looks empty or truncated after the bad character. That’s a sign of an invalid byte mid-file; clean the offending product’s content and regenerate.
Related guides
- How to Solve Invalid XML Error
- Remove Shortcodes and HTML Tags From Product Description
- How to Replace Any String From Feed
