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 :

Problème d'encodage pour des exports excel [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Problème d'encodage pour des exports excel
    Bonjours à tous!

    Je suis sur le point de me défenestré...
    Aidez moi SVP
    Ça fait un petit bout de temps que je planche sur le sujet, et je n'arrive pas à le résoudre.

    Voila, je dois, à partir d'une application php faire des exports excel.
    Je dois gérer différent type de caractère (russe, français, polonais, etc...).
    Il peut y avoir dans un même document des caractère russe et français.
    L'application en question gère différente lange pour les utilisateurs. Le nom des colonne peut donc changer suivant la langue, mais pas les données (mais elles peuvent être dans n'importe quelle langue)
    je gère le tout en utf8 et ma base est en utf8. Jusque la, aucun problème.
    Je fais une exportation excel sans classe php, je fais un lien vers une page php avec des header.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    header('Content-Type: application/msexcel');
    header('Content-Disposition: attachment; filename=export.xls');
    header('Last-Modified: '. gmdate('D, d M Y H:i:s') . ' GMT');
    header('Cache-Control: no-store, no-cache, must-revalidate');
    header('Cache-Control: pre-check=0, post-check=0, max-age=0');
    header('Pragma: anytextexeptno-cache');
    header('Cache-control: private');
    header('Expires: 0');
    header('Content-Transfer-Encoding: binary');
    Et c'est la que tout ce complique, suivant les cas, excel ne m'affiche pas les caractères correctement, si j'enregistre le document, et que je l'ouvre avec un éditeur de texte, tout est ok, je vérifie alors le charset d'excel, et la je vois qu'il ne prend pas le bon (utf8).
    J'ai quasiment tout essayé, mais j'aimerais vraiment forcé excel à ouvrir le document en utf8. y a t il un moyen? Ou dois je me concentré au niveau de mes données en faire un traitement bien précis?
    Voila, si besoin de précision...
    Merci d'avance!
    A bientôt!

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    J'avoue que je suis pas bien inspiré. Essaye toujours un utf8_decode pour voir...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Déja testé

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    J'ai résolu mon problème en mettant :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

    C'est quand même bizarre, parce que c'est un fichier php et non html, je n'ai pas de HEAD. De plus je précisais l'encodage dans le header...
    J'ai placé le meta avant l'ouverture de mon tableau html.

    Bref!

    En tout ça marche!

  5. #5
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Par pure curiosité, ça marche si tu mets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-Type: application/msexcel; charset=UTF-8');
    ??

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

Discussions similaires

  1. [10][Java] Formatage des exports Excel
    Par coldec dans le forum SDK
    Réponses: 2
    Dernier message: 12/09/2008, 13h30
  2. Réponses: 11
    Dernier message: 12/03/2008, 16h25
  3. Réponses: 24
    Dernier message: 06/02/2008, 13h59
  4. Problème de format pour des chiffres à virgule
    Par bob75000 dans le forum Access
    Réponses: 5
    Dernier message: 21/07/2006, 10h42
  5. [SimpleXML] Problème PHP5/XML pour des affichages particuliers
    Par vanilla dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 20/04/2006, 13h22

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