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

PHP & Base de données Discussion :

Export mysql vers xls avec les accents [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 42
    Points : 31
    Points
    31
    Par défaut Export mysql vers xls avec les accents
    Bonsoir,

    J'ai un joli script qui exporte un base Mysql vers xls, il fonctionne très bien, mais le problème, c'est que dans notre belle langue qui est le français, il y a des accents et ce script qui exporte les données n'exporte pas les accents. Pouvez-vous m'aider?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?php    // Connexion à la base de données
    	require_once("conf.php");
     
    	mysql_connect($sql_serveur, $sql_user, $sql_passwd) or die ("Connexion Impossible");
        mysql_select_db("$sql_bdd") or die ("Connexion Impossible");
     
        //Requete SQL
        $query = "SELECT * FROM membre";
        $result = mysql_query($query) or die(mysql_error());
     
        // Entêtes des colones dans le fichier Excel
        $excel .="id_membre \t date_inscription \t nom \t prenom\t  adresse \t Code postal \t Telephone \t Mobile \t Date de naissance \t email \t Derniere visite \t pseudo \t Mot de passe \t Pupitre \t \n";
     
        //Les resultats de la requette
        while($row = mysql_fetch_array($result)) {
                $excel .= "$row[id_membre]\t  $row[date_inscription]\t  $row[nom]\t  $row[prenom]\t  $row[adresse] \t $row[pays] \t $row[telephone] \t $row[mobile] \t $row[date_naissance] \t $row[email] \t $row[heure_session]\t $row[pseudo] \t $row[passe] \t $row[url] \t \n";
        }
        header("Content-type: application/vnd.ms-excel");
        header("Content-disposition: attachment; filename=liste_membres.xls");
        print $excel;
        exit;
        ?>
    Merci d'avance pour l'aide que vous pouvez m’apporter.
    Mathieu

  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
    Attention ce n'est pas un fichier "xls" que tu fais mais un fichier type CSV.
    Puisque tu veux l'utiliser avec excel, utilise l'extention .csv et le point-virgule comme séparateur au lieu de la tabulation.

    Pour l'encodage, passe ton fichier php et ta connexion mysql en UTF8.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 42
    Points : 31
    Points
    31
    Par défaut
    Merci pour ta réponse, mais j'ai changé ma base en "utf8_unicode_ci" donc dans mon listing, j'ai bien mes accents mais quand j'exporte il m'exporte les données tel-quelles.
    ex: quand j'entre méri, il est écrit dans la base comme ce-là (méri) et lors de l'export il s'écrit comme dans la base

    code modifier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("content: charset=utf-8");
    Sinon j'ai mis les ";" à la place des tabulations et l’extension du fichier en .csv

    Merci d'avance pour votre aide

  4. #4
    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
    http://j-willette.developpez.com/tut...-site-en-utf8/

    Regarde concerne les deux points que je t'ai indiqué : l'encodage du fichier PHP et la connexion à la base de donnée.
    L'interclassement lui n'intervient pas dans ton problème.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 42
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    J'ai résolu mon problème avec cette simple ligne dans mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    header('Content-Type: text/html; charset=iso-8859-1');
     ?>
    Merci de votre aide et à bientôt

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

Discussions similaires

  1. Export vers Excel avec les noms des colonnes
    Par JauB dans le forum AS/400
    Réponses: 7
    Dernier message: 04/02/2011, 09h18
  2. export table vers xls avec chemin variable
    Par lbar012001 dans le forum VBA Access
    Réponses: 8
    Dernier message: 20/08/2007, 11h03
  3. [HTML][Encodage] Problèmes avec les accents...
    Par eraim dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 26/05/2004, 10h11
  4. Ecrire caractère avec les accents avec vi ?
    Par sekiryou dans le forum Applications et environnements graphiques
    Réponses: 7
    Dernier message: 18/05/2004, 17h11
  5. [JDBC] Problème avec les accents
    Par seawolfm dans le forum Administration
    Réponses: 2
    Dernier message: 29/01/2004, 14h56

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