Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PDF > FPDF
FPDF Forum d'entraide pour la bibliothèque FPDF permettant de générer des documents PDF en PHP. Avant de poster -> tutoriels FPDF
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 01/02/2007, 12h12   #1
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
Par défaut [FPDF] Problème d'encodage UTF-8

Bonjour,

Mes scripts PHP sont encodés en UTF-8.
Lorsque je génère mon fichier PDF, mes caractères accentués sont erronés. On a par exemple "A¨" à la place de "è".

Comment faire pour que PDF comprenne bien le format UTF-8 ou Unicode ?

Merci d'avance !
@+
__________________
N'oubliez pas le tag .
Merci de ne pas envoyer de MP pour des problèmes techniques.
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 12h57   #2
Membre actif
 
Inscription : mai 2005
Messages : 147
Détails du profil
Informations personnelles :
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mai 2005
Messages : 147
Points : 164
Points : 164
salut,

fpdf ne gère pas l'utf-8.

pour y remédier il faut utiliser cette classe (qui hérite de fpdf) :
http://acko.net/node/56

il faut également corriger un bug pour l'affichage des multicells :
http://acko.net/blog/ufpdf#comment-225

...et ça marche très bien.
tthierry est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 13h42   #3
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
Je vais regarder ça et je vous tiens au courant.

Merci !
__________________
N'oubliez pas le tag .
Merci de ne pas envoyer de MP pour des problèmes techniques.
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 14h29   #4
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
Je viens de tester la classe UFPDF.

Je n'ai plus le problème d'encodage mais j'ai le problème de décalage...

J'ai essayé ce qui est dit dans le commentaire, mais je ne trouve aucune ligne avec le code :

Comment faire ?
__________________
N'oubliez pas le tag .
Merci de ne pas envoyer de MP pour des problèmes techniques.
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 15h45   #5
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
J'ai trouvé une alternative pour ne pas me casser la tête !

Je déclare une fonction formate_texte() qui utilise la fonction utf8_decode(). Cela me permet d'éviter le problème !
__________________
N'oubliez pas le tag .
Merci de ne pas envoyer de MP pour des problèmes techniques.
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 01/02/2007, 15h55   #6
Membre actif
 
Inscription : mai 2005
Messages : 147
Détails du profil
Informations personnelles :
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mai 2005
Messages : 147
Points : 164
Points : 164
c'est vrai qu'il manque quelque chose.

la ligne à modifier à l'intérieur de la classe fpdf est celle ci :

elle se trouve dans la méthode MultiCell vers la ligne 765.

à remplacer par :

elle se trouve aussi dans la méthode Write(), mais je ne l'ai pas modifié je ne m'en sert pas.

j'utilise les versions 1.52 et 1.53 de la classe fpdf.

edit :
Citation:
Cela me permet d'éviter le problème !
pour les caractères latins oui
tthierry est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 16h30   #7
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
Citation:
Envoyé par tthierry
edit :
pour les caractères latins oui
Comme j'utilise ceux-là, ça m'arrange !

En tout cas, merci pour ton aide.
J'ai essayé ta correction mais cela provoque plein d'autres décalages au niveau de mes tableaux (j'utilise phpToPDF).

Donc je reste avec mon astuce.

Encore merci !
__________________
N'oubliez pas le tag .
Merci de ne pas envoyer de MP pour des problèmes techniques.
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2010, 15h03   #8
Invité régulier
 
Inscription : décembre 2003
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 7
Points : 9
Points : 9
3 ans 1/2 plus tard, mais comme ce message est le premier référencé dans google, j'apporte ma pierre

j'ai testé ça dans fpdf 1.5.3 et 1.6, en deux petites modifications, on passe en fpdf pour utf8 :

a) méthode _escape
ajouter utf8_decode() autour de la variable $s

b) méthode Cell
supprimer la création de la variable $txt2
transformer $txt2 en $this->_escape($txt) dans le sprintf qui suit

et hop, le tour est joué.
ytse est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/09/2010, 09h51   #9
Invité de passage
 
Inscription : avril 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 2
Points : 1
Points : 1
Par défaut Problème d'encodage d'envoi newsletter

je selectionne une modèle de message ou je saisi un message et je l'affiche avant de l'envoyer.

Sur le message affiché, aucun problème de caractères. Par contre dans le mail reçu, c'est le délire, rien ne se passe comme il faut ! dans ma base les champs son interclassement en latin1_swedish_ci et dans les fichier php je testé en utf-8 et ISO-8859-1, rien n'a changé. merci pour votre
tadjidine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2011, 07h33   #10
Invité de passage
 
Inscription : février 2009
Messages : 31
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 31
Points : 2
Points : 2
@Ytse

Viens d'essayer ton astuce sur la 1.5.3
mais cela ne fonctionne pas,
dommage
regis3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 16h54   #11
Membre éclairé
 
Avatar de BornBanane
 
Homme
Ingénieur développement logiciels
Inscription : mars 2007
Messages : 274
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mars 2007
Messages : 274
Points : 350
Points : 350
L'astuce de ytse a fonctionné pour moi version 1.7 !

Merci
__________________
Smiley de Plomb 2009
Anciennement FrancoisIT
BornBanane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2012, 16h25   #12
Futur Membre du Club
 
Inscription : janvier 2008
Messages : 139
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 139
Points : 18
Points : 18
j ai teste avec 1.7 mais ne marché pas les cataractes arabe sont afficher ???
il y n'a pas une autre solution??
merci
atifo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2012, 20h58   #13
Membre confirmé
 
Avatar de aperrin
 
Inscription : octobre 2005
Messages : 210
Détails du profil
Informations personnelles :
Âge : 40
Localisation : France

Informations forums :
Inscription : octobre 2005
Messages : 210
Points : 204
Points : 204
fpdf fourni tFPDF une implémentation utf-8 que l'on trouve sur http://www.fpdf.org/

Le lien pour télécharger tFPDF :
http://www.fpdf.org/fr/script/dl.php?id=92&f=zip
__________________
En essayant continuellement, on finit par réussir. Donc plus ça rate, plus on a de chances que ça marche !
aperrin 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 01h38.


 
 
 
 
Partenaires

Hébergement Web