Problème d'encodage dans excel [Résolu]

Signaler
Messages postés
4
Date d'inscription
mardi 14 décembre 2010
Statut
Membre
Dernière intervention
14 décembre 2010
-
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
-
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.
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 un faire un traitement bien précis?
Voila, si besoin de précision...
Merci d'avance!
A bientôt!

8 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
Messages postés
4
Date d'inscription
mardi 14 décembre 2010
Statut
Membre
Dernière intervention
14 décembre 2010

J'ai résolu mon problème en mettant :
<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!
merci à tous
Messages postés
4
Date d'inscription
mardi 14 décembre 2010
Statut
Membre
Dernière intervention
14 décembre 2010

Heu... on fait comment?
XD
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
il doit y avoir un bouton reponse acceptée ...
Messages postés
4
Date d'inscription
mardi 14 décembre 2010
Statut
Membre
Dernière intervention
14 décembre 2010

Déjà testé :)
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
s.t.p. valide le post a++
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
bonjour

à tout hasard
header('Content-Type: application/msexcel;charset=UTF-8');

a++