1

Bonjour à tous,
j'ai un souci avec la création d'un PDF issu d'une page web contenant des données elles-mêmes issues d'une base sql.
Lorsque certaines données contiennent des caractères accentués, ceux-ci n'apparaissent pas sur le PDF (le caractère est complètement effacé, par exemple : "élève" s'afficherait "lev").
En revanche, les caractères accentués présents en dur dans le code source sont quant à eux bien affichés !
Ma base de données est en UTF-8 (base de données locale sous MAMP).
Je n'arrive pas à trouver de solution, ni sur le forum, ni sur Google...
Merci d'avance aux bonnes âmes qui sauront m'expliquer le problème (et pourquoi pas le résoudre lol).

2

problème d'encodage différent entre les données de tes scripts PHP, et les données en base.
Ancien pseudo : lolo

3

Mais pourtant lorsque j'appelle mes données au sein d'une page web traditionnelle tous les caractères apparaissent correctement !

4

bonjour

j'ai le meme problème à part que moi il m'enleve la lettre accentué + la lettre suivante

ma base sur mysql en utf-8
mon serveur à les bonnes locales

je compend mal
Spipu (./2) :
problème d'encodage différent entre les données de tes scripts PHP, et les données en base.


j'ai encoder les script en utf-8

le problème persiste je suis dans l'impasse

a+

5

quelle version de HTML2PDF utilises tu ?
Ancien pseudo : lolo

6

j'utilise la version 4.03

j'ai regarde du cote de l'encodage des caracteres sur firefox : idem

j'ai essayer de mettre le resultat de la requette sql en utf-8 : msg d'erreur disant que c'est déjà en utf-8

je séche grave là

ob_start();
include(dirname(__FILE__).'/catalogue.php');
$content = ob_get_clean();

// convert in PDF
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');

$html2pdf->pdf->SetDisplayMode('real');
$html2pdf->setDefaultFont('Arial');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('catalogue.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

7

Salut à vous, j'ai découvert html2pdf depuis peu, et c'est tout simplement génial !!!

Je pense que entre temps vous avez dû trouver la solution concernant la conversion de caractères avec HTML2PDF, mais je me permet quand même de donner une solution qui fonctionne chez moi après avoir cherché ...

en gros, j'ai un formulaire html en charset : ISO-8859-1
j'envoi tout ça dans ma base de donnée mysql (mon champs sous mysql est en : latin1_swedish_ci)
j'ai choisi l'ISO-8859-1 pour ne pas n'embêter avec toutes conversions de caractères

une fois dans mon script html2pdf, si j'affiche tel quel le pdf, il va me virer le caractère spécial ainsi que la lettre d'après,
sauf si j'encode mon texte provenant de ma base de donnée en utf8 (charset avec lequel fonctionne html2pdf apparemment ?)

en gros : je fais ça : $nom_client = utf8_encode($client["nom"]);
puis plus aucun problème que ce soit : accent, €, etc …

Espérant avoir pu en aider certain,
A plus smile

8

causta (./7) :
Salut à vous, j'ai découvert html2pdf depuis peu, et c'est tout simplement génial !!!

Je pense que entre temps vous avez dû trouver la solution concernant la conversion de caractères avec HTML2PDF, mais je me permet quand même de donner une solution qui fonctionne chez moi après avoir cherché ...

en gros, j'ai un formulaire html en charset : ISO-8859-1
j'envoi tout ça dans ma base de donnée mysql (mon champs sous mysql est en : latin1_swedish_ci)
j'ai choisi l'ISO-8859-1 pour ne pas n'embêter avec toutes conversions de caractères

une fois dans mon script html2pdf, si j'affiche tel quel le pdf, il va me virer le caractère spécial ainsi que la lettre d'après,
sauf si j'encode mon texte provenant de ma base de donnée en utf8 (charset avec lequel fonctionne html2pdf apparemment ?)

en gros : je fais ça : $nom_client = utf8_encode($client["nom"]);
puis plus aucun problème que ce soit : accent, €, etc …

Et histoire de pousser le bouchon un peu plus loin, j'ai essayé directement ça :
$content = utf8_encode(ob_get_clean());
et ça fonctionne, je ne sais pas si c'est bien propre de faire ainsi ... mais bon ...

Espérant avoir pu en aider certain,
A plus smile