IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

CSV avec problème de codage


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Points : 121
    Points
    121
    Par défaut CSV avec problème de codage
    Bonjour,

    J'ai un problème d'encodage avec des csv que je gènère avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    header("Content-type: application/vnd.ms-excel"); 
    header("Content-disposition: attachment; filename=\"extractionPharmaices.csv\"");
    Mais quand cela s'ouvre avec Excel, j'ai par exemple 0,00€ payés le 2012/10/25 au lieu de "0,00€ payé".

    J'ai essayé de mettre des header('Content-type: text/html; charset=UTF-8'); ou header('Content-type: application/vnd.ms-excel; charset=UTF-8'); mais ça ne fonctionne pas.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Vérifie avec un editeur de texte (par exemple notepad++) que ton fichier .php est bien lui même en UTF8.

  3. #3
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Bonjour,

    Si la solution de Sabotage ne suffit pas :
    - vérifie l'encodage envoyé au navigateur (dans un htaccess par exemple : AddDefaultCharset UTF-8)
    - vérifie ton fichier dans un éditeur de texte standard, afin de confirmer que l'encodage est bien cassé, et que ce n'est pas Excel qui est fâché avec l'UTF8

    Bon courage !

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Pour que ton fichier csv puisse être ouvert avec Execl il faudra qu'il soit encodé en "Windows-1252" si tu l'encode avec du UTF-8 tu auras toujours les caractères bizarres

    ci-dessous une fonction qui te permettra de convertir les données de ton csv de l'utf-8 au Windows-1252
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    function excelEncode($value)
    {
      $value = iconv('UTF-8', 'Windows-1252', $value);
     
      return $value;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [HyperV/CSV] Gros problèmes avec le cluster !
    Par eRoKz dans le forum Virtualisation
    Réponses: 0
    Dernier message: 09/11/2012, 20h08
  2. Problème de codage avec Dbase 3
    Par mdk64 dans le forum C#
    Réponses: 0
    Dernier message: 25/08/2010, 14h53
  3. Problème d'import fichier csv avec PostgreSQL
    Par Aztecks dans le forum Ruby
    Réponses: 10
    Dernier message: 10/11/2009, 11h42
  4. [Macro]Problème d'importation .CSV avec macro
    Par Eric Harvey dans le forum VBA Access
    Réponses: 8
    Dernier message: 12/04/2007, 17h04
  5. [Accents - XML] Problème de codage non supporté !!
    Par Smortex dans le forum Composants VCL
    Réponses: 6
    Dernier message: 24/11/2002, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo