Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/12/2010, 14h43   #1
Invité de passage
 
Inscription : août 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 3
Points : 0
Points : 0
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 :
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!
keep67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 15h06   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
J'avoue que je suis pas bien inspiré. Essaye toujours un utf8_decode pour voir...
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 15h33   #3
Invité de passage
 
Inscription : août 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 3
Points : 0
Points : 0
Déja testé
keep67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 15h39   #4
Invité de passage
 
Inscription : août 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 3
Points : 0
Points : 0
J'ai résolu mon problème en mettant :
Code html :
<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!
keep67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 11h52   #5
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Par pure curiosité, ça marche si tu mets

Code :
header('Content-Type: application/msexcel; charset=UTF-8');
??
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h33.


 
 
 
 
Partenaires

Hébergement Web