CSV File UTF-8 Encoding Error.

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:

  1. 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.
  2. You downloaded the file and re-uploaded a copy that passed through a tool that changed the encoding.
  3. 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:

  1. Go to CTX Feed → Manage Feeds.
  2. In the Feed URL column, click Copy to copy the feed’s public URL.
  3. 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:

  1. Open the feed in Make Feed (edit it from Manage Feeds).
  2. In Feed settings, find the UTF-8 BOM dropdown (it appears for CSV, TSV and TXT feeds).
  3. Choose Add UTF-8 BOM — the hint reads “Prepend a byte-order mark so Excel reads it as UTF-8.”
  4. 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.
Try CTX Feed for WooCommerce - Free Download or Upgrade to Pro

Leave a comment.