U genereert CSV, wat in feite een tekstbestand is. Er is geen manier om coderingsinformatie in dergelijke bestanden op te geven. De meeste teksteditors implementeren (beter of slechter) automatische detectie van codering. Excel doet dat niet. Excel gaat gewoon uit van ANSI wanneer u met de rechtermuisknop op een CSV-bestand klikt. (U moet het menu "Openen" gebruiken om te worden gevraagd over codering.)
De enige overgebleven optie (afgezien van het overschakelen naar een ander uitvoerformaat) is het converteren van gegevens naar ANSI, ofwel met mb_convert_encoding() of met iconv() . Maar nu heb je een ander probleem:ANSI is geen echte codering, het betekent in feite "welke codering ook is ingesteld in mijn Windows-computer". U moet eerst de typische codering achterhalen die de meeste van uw gebruikers hebben. Dat hangt grotendeels af van het land. Veel West-Europese landen gebruiken bijvoorbeeld Win-1252.