UTF-8
UTF-8 is a way of storing text in a file that can represent every character, from the £ sign to the é in café.
What it means
Computers store text as numbers. Unicode “provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language”.1 UTF-8 is an encoding, a way of writing those numbers into a file. In the Unicode Consortium’s words, it “is most common on the web”.2
It matters because older encodings still exist, and they disagree. Two of them “could use the same number for two different characters”.1 Read a file with the wrong one and letters turn into other letters.
That is why Shopify and WooCommerce both ask for it. Shopify requires a product CSV to be UTF-8 encoded.3 WooCommerce says to save the file “as a UTF-8 CSV” and warns that spreadsheet applications “can change formatting or character encoding”.4
Think of it like this
It is like a recipe written in grams and read by someone who measures in ounces. Every number on the page is right, and the cake still comes out wrong.
For example
A supplier’s file holds the title “Cafetière, 8 cup” and the price “£24.99”. Saved as UTF-8 but opened with an older Windows encoding, they read “Cafetière, 8 cup” and “£24.99”. Nobody mistyped anything. The file and the program disagree about which number means which character.
Why it matters
Not to be confused with
UTF-8 is not a file type. CSV says how the values are laid out, and UTF-8 says how the characters in them are stored. The same CSV can be saved in UTF-8 or in an older encoding.
Sources
- Unicode Consortium. What is Unicode?.
- Unicode Consortium. FAQ: UTF-8, UTF-16, UTF-32 & BOM.
- Shopify Help Center. Solutions to common product CSV import problems.
- WooCommerce documentation. Product CSV Importer and Exporter.
- Microsoft Support. Opening CSV UTF-8 files correctly in Excel.