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


Dacobah
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 23 Juin 2011

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

Message le Lun Juil 11, 2011 14:00

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 !

mitchum
WRInaute discret
WRInaute discret
 
Messages: 237
Inscription: 18 Fév 2004

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

Message le Lun Juil 11, 2011 14:03

Ton fichier csv est en UTF8 au lieu d'ISO8859-1

regarde ici : http://www.php.net/manual/fr/function.utf8-decode.php

ZelkiN
WRInaute impliqué
WRInaute impliqué
 
Messages: 500
Inscription: 27 Juil 2007

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

Message le Mar Juil 12, 2011 8:27

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 :)

mitchum
WRInaute discret
WRInaute discret
 
Messages: 237
Inscription: 18 Fév 2004

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

Message le Mar Juil 12, 2011 8:46

Quand je fait un test en local avec ceci :

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

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

?>


j’obtiens

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


est-ce quelque chose comme ca que tu cherches ?


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités