Bonjour à tous,

J'ai un soucis concernant l'encodage d'un flux que je renvois via header().

Voici mon problème :
Je génère un csv dont le contenu est encodé en Windows-1252 avec iconv().
Seulement quand le flux est renvoyé avec header(), que j'enregistre mon fichier sur ma machine et que je l'ouvre, je remarque que l'encodage de ce dernier est en UTF-8.

Je n'arrive pas à trouver ce que j'ai oublié, voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
// Ici $file_content = mon text format csv en utf-8
$file_content = iconv("UTF-8", "Windows-1252", $file_content);
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header('Content-Description: File Transfer');
header("Content-type: text/csv; charset=Windows-1252;");
header("Content-Disposition: attachment; filename=" . $filename);
header("Expires: 0");
header("Pragma: public");
echo $file_content;
PS : Quand j'ouvre le fichier sous libre office calc en Windows-1252, j'ai le BOM UTF-8 de présent en début de fichier

Cordialement,