This is a workaround for my own particular UTF-8 problem, refers to tab-separated values rather than CSV, and also involves proprietary software*. Hence it may not be of general applicability. However I am posting it in case anyone else finds it useful or is able to adapt it to their problem.
I work with a UTF-8 MySQL database which contains one field with UTF-8 text because of Greek symbols. After making an SQL query I often paste from my Mac terminal into the BBEdit text editor, do some minor clean up, and then import into Excel for distribution and presentation. Having read the answer from @MitraArdon, the following allows me to preserve the UTF-8:
Set the BBEdit text document as Unicode (UTF-8, with BOM)† using the selection options at the bottom of the page.
Launch Excel 2016 and import the text file (as delimited text — I use the pipes from the MySQL tables as delimiters). Save as .xlsx.
There is no step 3 (as the ad used to say).
For the reverse process I cannot do the normal “Save as tab delimited text” as the Greek letters will be replaced by underscores. As the document is in UTF-16 one must:
Select “Save as UTF-16 Unicode Text (.txt)”
Open in BBEdit and change the format to UTF-8 (generally ‘No BOM’).
Then I can upload back into my UTF-8 MySQL database, if required.
Footnotes
*Actually BareBones’ cutdown free text editor, TextWrangler, should also work as it has the option to save as UTF-8 BOM.
†Or convert to UTF-16 BOM.