Вие генерирате CSV, който по същество е обикновен текстов файл. Няма начин да посочите информация за кодиране в такъв тип файлове. Повечето текстови редактори прилагат (по-добро или по-лошо) автоматично откриване на кодиране. Excel не го прави. Excel просто ще приеме ANSI, когато щракнете с десния бутон върху CSV файл. (Трябва да използвате менюто „Отваряне“, за да получите подкана за кодиране.)
Единствената ви оставаща опция (освен превключването към друг изходен формат) е конвертиране на данни в ANSI, или с mb_convert_encoding() или с iconv() . Но сега имате друг проблем:ANSI не е истинско кодиране, а основно означава „каквото и кодиране да е зададено в my Компютър с Windows". Първо трябва да разберете типичното кодиране, което повечето от вашите потребители имат. Това зависи най-вече от държавата. Например много страни от Западна Европа използват Win-1252.