Encodage à la génération d'un fichier

Nouveau WRInaute
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 Michel, 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 !
 
WRInaute occasionnel
J'ai le même problème que toi Dacobah, malheureusement je n'ai encore pas trouver de solution :/ Mitchum j'ai essayé le uft8_decode, ca n'a pas fait grand chose :s
Je suis ouvert à d'autre idée :)
 
WRInaute discret
Quand je fait un test en local avec ceci :

Code:
<?php
$string = 'Valérie';

echo 'utf8 : <br />';
echo $string;
echo '<br />';
echo htmlentities($string, ENT_QUOTES, 'UTF-8');

?>

j’obtiens

Code:
utf8 : <br />Valérie<br />Val&eacute;rie

est-ce quelque chose comme ca que tu cherches ?
 
Discussions similaires
Haut