Du genererar CSV, som i grunden är en vanlig textfil. Det finns inget sätt att specificera kodningsinformation i sådana filer. De flesta textredigerare implementerar (bättre eller sämre) automatisk identifiering av kodning. Excel gör det inte. Excel kommer helt enkelt att anta ANSI när du högerklickar på en CSV-fil. (Du måste använda menyn "Öppna" för att bli tillfrågad om kodning.)
Ditt enda alternativ kvar (förutom att byta till ett annat utdataformat) är att konvertera data till ANSI, antingen med mb_convert_encoding() eller med iconv() . Men nu har du ett annat problem:ANSI är inte en riktig kodning, det betyder i princip "vilken kodning som än är inställd i min Windows-dator". Du måste först ta reda på den typiska kodningen de flesta av dina användare har. Det beror mest på landet. Till exempel använder många länder i Västeuropa Win-1252.