[Php] Encodage à la génération d'un fichier

Dacobah Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   -  
Dacobah Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je génère un fichier CSV à partir d'un script PHP. C'est-à-dire que je fais une requête sur ma base de données, je récupère les champs à afficher, je constitue mon fichier CSV avec des intitulés et le résultat de ma requête ligne, par ligne. Jusque là, tout va bien.

Le soucis c'est que dans mon fichier CSV j'obtiens des prénoms avec des caractères étranges : Valérie au lieu de Valérie, michèle au lieu de Michèle, etc.

J'ai pensé à faire des conversions avec les fonctions d'encodage de php, mais le résultat est le même.
Idem pour les headers tels que header('Content-Transfer-Encoding: text/csv'); (car je force le téléchargement) : rien ne change.

Et surprise, le contenu de mon fichier appelé dans la page d'un navigateur m'affiche bien les bons prénoms avec les vrai accents.

Du coup je suis persuadé que mon problème provient de la tranformation en fichier CSV, puisque c'est là que je vois ces affreux caractères.

Qu'en pensez-vous ? Avez-vous une idée pour m'éclairer ?

Merci d'avance à tous !
A voir également:

3 réponses

adns Messages postés 1094 Date d'inscription   Statut Membre Dernière intervention   153
 
Bonjour,

essaie de forcer le charset avec un header dans ton fichier qui génère le fichier CSV.

Adns
0
le père
 
Bonjour

Le problème, c'est que tu sembles tout faire en UTF-8 (ce qui est bien) sans en être vraiment conscient (ce qui est moins bien). Tu regardes certainement ton fichier csv avec un éditeur qui, lui, s'attend à un autre encodage.
Regarde dans les options de ton éditeur, si tu as le choix de l'encodage, passe en UTF-8 et tout devrait rentrer dans l'ordre.
0
Dacobah Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   74
 
Merci pour vos réponses !
0