Dacobah
Messages postés260Date d'inscriptionsamedi 26 novembre 2005StatutMembreDernière intervention28 septembre 2011
-
11 juil. 2011 à 14:57
Dacobah
Messages postés260Date d'inscriptionsamedi 26 novembre 2005StatutMembreDernière intervention28 septembre 2011
-
23 juil. 2011 à 23:31
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.
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 transformation 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 ?
cs_stay
Messages postés493Date d'inscriptionjeudi 7 juillet 2005StatutMembreDernière intervention24 mai 20174 13 juil. 2011 à 14:12
C'est très simple, le fichier CSV est créé en ISO et tu y envoies de l'UTF-8.
Donc, à la lecture du fichier avec Excel, tu as des caractères accentués non reconnus.
Par la suite, si tu fais une injection du fichier CSV vers la DB ou autre, …
comme c’est de l’UTF-8, il y a aucun problème. Vu que tu travails en UTF-8.
Sinon, header('Content-Type: text/csv; charset=iso-8859-1'); affiche les caractère en ISO.
Mais par la suite, tu aurras des problèmes sur ton site car il fonctionne en UTF-8.
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 22 juil. 2011 à 19:58
Salut,
Doit en conclure qu'Excel n'est pas foutu d'ouvrir simplement un CSV en UTF-8 alors qu'il n'y a pas de problème avec Open Office ??
Je ne sais pas quelle version d'excel tu as, ni si c'est lui que tu utilises, ni comment tu procédes pour l'ouverture, mais dans tous les cas, sauf à utiliser le notepad de WIN98, tu as possibilité de choisir l'encodage. Avec les versions d'excel un peu ancienne il me semble que le choix n'est donné que si tu l'ouvres manuellement (à partir du menu d'excel)
Je suis de l'avis de Stay, je pense que tu n'as rien à faire, ... sauf peut être changé de tableur ^^
Dacobah
Messages postés260Date d'inscriptionsamedi 26 novembre 2005StatutMembreDernière intervention28 septembre 2011 23 juil. 2011 à 23:31
Oui toi et Stay, vous avez raison. Le problème vient du réglages des options lors de l'ouverture du fichier sous mon tableur. Car si je l'ouvre dans ma page tous les caractères marchent bien.