Bonjour a tous,
Je vous imagine déjà en train de vous dire "ENCORE UN QUI NE RECHERCHE PAS DANS LE FORUM..." Et vous avez tord
Je m'explique
J'utilise FPDF pour générer des pdfs afin de transmettre des fichiers CMJN pour faire de l'impression professionnelle.
Après maint test, j'ai un souci avec les accents dans une police que je génère moi même, l'historique "LUCIDA CONSOLE".
Je génère correctement ma police avec le MAKEFONT fourni de FPDF. Voici la ligne de commande utilisée :
MakeFont('lucon.ttf','lucon.afm','ISO-8859-15');
J'utilise le charsert ISO-8859-15 pour être certain d'avoir l'euro, accent etc.
Pour récupérer le texte de ma base de donnée, je fais :
$variable=utf8_decode($out['champ']);
et là, vous vous dites :
ha, il a peut être recherché en fait !
1er problème, le signe euro ne s'affiche pas. Pour forcer l'affichage, je fais la manip suivant (donc oui, je l'affiche, mais je trouve cela bizarre) :
1 2 3
| J'ouvre le fichier généré par makefont lucon.php
je change le texte chr(164)=>603 par 'Euro'=>603
Je met en commentaire la ligne :$diff='128 /.notdef 130 /.notdef /... 164 /Euro 166 /Scaron ... /Ydieresis'; |
L'euro s'affiche après seulement si mon fichier PHP est en ANSI, si je le met en UTF8, l'euro devient un carré. Les accents qu'en à eux, ne s'affiche qu'en UTF8 et disparaissent en ANSI !
Maintenant, mon problème se situe aussi sur les majuscules. Je converti donc en faisant :
$pdf->Cell(28,15, mb_convert_case($variable, MB_CASE_UPPER, "UTF-8"), 0, 0, 'C');
Les accents majuscule disparaissent, même si mon fichier est en UTF8/ANSI...
Je ne comprend plus et surtout, je ne sais même plus ou cherché !!
Pouvez-vous me conseiller svp.
Merci.
Partager