Love it or hate it, CSV is a format many developers have to deal with at some stage. It’s lightweight and it’s understood by many platforms and humans. However, if you’re using non-ASCII characters (like an umlaut on the word über or accent in José) and you have users viewing your CSV files in Microsoft Excel, things get a bit more complicated.
Most Excel users open CSV files simply by double-clicking the file and waiting for Excel to import it automatically. But if Excel doesn’t decode the CSV file correctly, your data will end up as a garbled mess.
How do we avoid this when generating CSV files in Elixir?