FPDF+utf-8 [RESOLU]

Petit nouveau ! | 5 Messages

07 juin 2011, 12:30

Bonjour,

J'utilise fpdf mais je n'arrive pas a trouver ou placer utf8_decode ( ) pour afficher correctement les elements venant de ma base qui sont en utf-8
voici mon code

Code : Tout sélectionner

<?php include_once(realpath(dirname(__FILE__)) . "/../../../fonctions/authplugins.php"); autorisation("valeurstock"); include_once(realpath(dirname(__FILE__)) . "/Valeurstock.class.php"); define('FPDF_FONTPATH','font/'); require(realpath(dirname(__FILE__)) . '/../../../lib/fpdf/fpdf.php'); require(realpath(dirname(__FILE__)) . '/../../../lib/fpdf/fpdi.php'); $produit = new Produit(); $query = "SELECT * FROM $produit->table ORDER BY ref ASC"; $result = mysql_query($query, $produit->link); $pdf=new FPDF(); $pdf->AddPage(); $pdf->SetAutoPageBreak(true) ; $hauteur = "10"; $page = "1"; $pdf->SetFont('Arial','BU',8); $pdf->SetXY(10,$hauteur); $pdf->Cell(20,8,'Réf',1,1,'C'); $pdf->SetFont('Arial','BU',8); $pdf->SetXY(30,$hauteur); $pdf->Cell(110,8,'Désignation',1,1,'C'); $pdf->SetFont('Arial','BU',8); $pdf->SetXY(140,$hauteur); $pdf->Cell(20,8,'Quantité',1,1,'C'); $pdf->SetFont('Arial','BU',8); $pdf->SetXY(160,$hauteur); $pdf->Cell(20,8,'Prix',1,1,'C'); $pdf->SetFont('Arial','BU',8); $pdf->SetXY(180,$hauteur); $pdf->Cell(20,8,'total',1,1,'C'); $hauteur = "14"; $Total1B=0; $TotalB = 0; while($row = mysql_fetch_object($result)) { $idprod = $row->id; $produitdesc = new Produitdesc(); $produitdesc->charger($idprod); $titre = $produitdesc->titre; $hauteur = $hauteur + 4; $pdf->SetFont('Arial','',8); $pdf->SetXY(10,$hauteur); $pdf->Cell(20,4,mb_strtoupper($row->ref),1,1,'C'); $pdf->SetFont('Arial','',8); $pdf->SetXY(30,$hauteur); $pdf->Cell(110,4,"$produitdesc->titre $produitdesc->chapo",1,1,'L'); $pdf->SetFont('Arial','',8); $pdf->SetXY(140,$hauteur); $total1=($row->stock); $pdf->Cell(20,4,$total1,1,1,'C'); $pdf->SetFont('Arial','',8); $pdf->SetXY(160,$hauteur); $pdf->Cell(20,4,$row->prix,1,1,'C'); $pdf->SetFont('Arial','',8); $pdf->SetXY(180,$hauteur); $total=round($row->stock*$row->prix); $pdf->Cell(20,4,$total,1,1,'C'); $Total1B += $total1; $TotalB += $total; if ($hauteur > 275){ $hauteur = "6"; $pdf->SetFont('Arial','',8); $pdf->SetXY(180,285); $pdf->Cell(20,4,"Page $page",1,1,'C'); $page = $page +1; $pdf->AddPage(); } } $pdf->ln(); $pdf->SetFont('Arial','BU',12); $pdf->SetXY(10,$hauteur+4); $pdf->Cell(130,15,'Total du nombre de produits et valeur globale du stock',1,1,'C'); $pdf->SetXY(140,$hauteur+4); $pdf->Cell(20,15,$Total1B,1,1,'C'); $pdf->SetXY(160,$hauteur+4); $pdf->Cell(40,15,$TotalB,1,1,'C'); $pdf->SetFont('Arial','',8); $pdf->SetXY(180,285); $pdf->Cell(20,4,"Page $page",1,1,'C'); $pdf->Output(); ?>
J'ai a peu pret tout essaye sans succes.
Merci.

Reg3
Modifié en dernier par reg3 le 10 juin 2011, 08:17, modifié 1 fois.

Eléphant du PHP | 256 Messages

07 juin 2011, 16:48

Bonjour,

Moi, j'utilise une syntaxe comme...
			$pdf->SetFont('Arial', '', 14);
			$pdf->WriteHTML(utf8_decode($txt_a_pdf));
			$pdf->Ln(10);
A toi de l'adapter. :)

Cordialement,

Gaspard

Eléphanteau du PHP | 31 Messages

07 juin 2011, 16:52

Moi toutes mes tables sont en latin german et j'ai juste ça en haut de page:
mysql_query("SET NAMES utf8_unicode_ci"); 

Eléphant du PHP | 256 Messages

07 juin 2011, 17:30

Re...

Je n'ai pas trop d'idée et je débute aussi.

Néanmoins, j'essaierai de récupérer mes données dans un tableau, puis de les convertir avec utf8_decode. avant de les ajouter au Pdf.

Gaspard

Petit nouveau ! | 5 Messages

08 juin 2011, 03:13

Merci de vos reponses :D
mais pas plus de reussite :oops:

Eléphanteau du PHP | 31 Messages

08 juin 2011, 12:07

Hmmm dans ce cas, quel est concrètement le problème qui te pousse à vouloir mettre du UTF8_decode(). Qu'est-ce qui ressort? Des points d' interrogation dans des losanges ou autre chose?

Petit nouveau ! | 5 Messages

09 juin 2011, 05:49

Bonjour,

Voila ce qui ressort avec des accents simules:

Image

Merci.

Reg3

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

09 juin 2011, 12:12

salut,

$pdf->Cell(110,4,utf8_decode($produitdesc->titre).' '.utf8_decode($produitdesc->chapo),1,1,'L'); ?


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 5 Messages

14 mars 2012, 05:45

SUPER
J'avais essaye avec 1 seul decode pour les 2 ca ne marchait pas :oops:
Merci Moogli =D>

Petit nouveau ! | 5 Messages

14 mars 2012, 05:49

:oops:
désolé j'ai cliqué "par erreur" sur le bouton 'remonter le sujet'
je voulais juste editer/modifier mon post :roll:

bboyflo
Invité n'ayant pas de compte PHPfrance

07 juil. 2016, 14:58

Salut ,
j ai un back office, dans lequel je génére un PDF qui va récupérer des infos en BDD.
Mon problème c 'est qu'il ne m’interprétèpas les caractères chinois...
Pouvez vous m'aider??

Code : Tout sélectionner

$pdf->Cell(50,10," ".$row['tool_number']."",0,0,'L',false); $pdf->Ln(10); //tableau $pdf->SetFont('Arial','',12); $pdf->SetFillColor(255,255,255); $pdf->SetDrawColor(252,104,26); $pdf->SetTextColor(252,104,26); $pdf->Cell(0,10,ut("Mold Registration(模具登记)"),1,0,'C',true); $pdf->Ln(10);

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

07 juil. 2016, 19:22

Modération :
Afin de conserver une lecture efficace du forum, merci de respecter le principe 1 problème = 1 sujet.
Afin de multiplier les chances de réponse, il est préférable que tu ouvres ton propre nouveau sujet dédié à ton problème plutôt que de venir te raccrocher à un problème d'un autre remontant à plusieurs années.
Quand tout le reste a échoué, lisez le mode d'emploi...