[PHP] problème d'accent avec la classe FPDF
Résolu
ajp55
Messages postés
426
Date d'inscription
Statut
Membre
Dernière intervention
-
Doudousco -
Doudousco -
Bonjour,
je suis entrain de réaliser une petite application intranet qui va nécessité l'impression des états. j'utilise la classe fpdf la version 1.7.
je rencontre un problème dans la gestion des erreurs.
avant d'envoyé des données ayant des caractère spéciaux dans la base de données, j'appelle la fonction utf8_encode($data), pour encoder les caractères spéciaux.
lors de l'impression avec la classe fdpf, j'utilise utf8_decode($data);
mais ça marche. pourtant quand j'affiche dans une page écrit web, les caractères sont convenablement décodées.
je ne sais plus quoi faire. merci d'avance pour vos réponses.
je suis entrain de réaliser une petite application intranet qui va nécessité l'impression des états. j'utilise la classe fpdf la version 1.7.
je rencontre un problème dans la gestion des erreurs.
avant d'envoyé des données ayant des caractère spéciaux dans la base de données, j'appelle la fonction utf8_encode($data), pour encoder les caractères spéciaux.
lors de l'impression avec la classe fdpf, j'utilise utf8_decode($data);
mais ça marche. pourtant quand j'affiche dans une page écrit web, les caractères sont convenablement décodées.
je ne sais plus quoi faire. merci d'avance pour vos réponses.
3 réponses
Utilisé:
$this->Cell(100,15,utf8_decode('Liste des véhicules'),0,1,'C');
$this->Cell(100,15,utf8_decode('Liste des véhicules'),0,1,'C');
terrysharp
Merci
Mohamed
Merci
Monsieur Leek
Parfait merci.
nsjona2
Grand Merci
Doudousco
Merci pour cette aide qui marche à merveille chez moi
<?php /********************** INCLUSION DES FICHIERS ------fpdf.php contenant les fonction pdf() standard ------bibliotheque_inc.php contient les fonctions usuelles et les fonctions de connexion à la bd */ include_once("../fpdf17/fpdf.php"); include_once("../noyau/bibliotheque_inc.php"); /******************************************************************************* CLASSE PDF PERMETTANT D"IMPRIMER DES FICHIER PDF, CETTE CLASSE ETEND LA CLASSE FPDF ********************************************************************************/ class PDF extends FPDF{ function LoadData(){ $query = "SELECT * FROM membre ORDER BY IDMEMBRE"; $this->SetFont("Times", '', 7); $data = array(); $result = mysql_query($query) or die(mysql_error()); /*** conserver les titres des colonnes de la bd comme etant les titres des colonnes dans le fichier pdf Tableau a une dimension contenant les titres ***/ $header = array(); for($i = 0; $i < mysql_num_fields ($result); $i++) $header[] = mysql_field_name($result, $i); $data[0] = $header; $i = 1; /*** ajouter les donnees renvoyees par la requette a la suite de la variable $data contenant deja les titres $data tableau a deux dimension contenant les titre et les jeux d'enregistrement ***/ while($row = mysql_fetch_row($result)){ foreach($row as $val) $data[$i][] = $val; $i++; } /*** Retourner le jeu d'enregistrement sous forme de tableau Ce tableau d'enregistrement sera utilise par la fonction Basictable($data) pour produire le resultat ***/ return $data; } function BasicTable($data){ foreach($data as $row){ foreach($row as $col){ $this->Cell(20, 5,utf8_decode($col), 1); } $this->Ln(); } $this->Ln(5); $this->Cell(0,5, "Date: Le...........", 0, 1, "R"); $this->Cell(0,5, "Signature........", 0, 1, "R"); $this->Ln(5); // Mention en italique $this->SetFont('','I'); $this->Cell(0,5,"(fin de la liste)"); } } $pdf = new PDF(); $pdf->AliasNbPages; $pdf->AddPage(); $data = $pdf->LoadData(); $pdf->BasicTable($data); $pdf->Output(); ?>
--
lors de l'enregistrement des membre. le nom, le prenom, etc. tout ce qui concerne un membre et qui doivent etre saisie au clavier sont passer dans la fonction utf8_encode() pendant l'insertion dans la bd. j'ai vérifié dans la bd, les infos y figurent et les caracteres speciaux converti.
faut souligner que sur les page html, ca marche. mais sur le fichier pdf, ca marche pas.
faut souligner que sur les page html, ca marche. mais sur le fichier pdf, ca marche pas.