IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[EZPDF] gestion des accents


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti Avatar de cyreel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 388
    Points : 324
    Points
    324
    Par défaut [EZPDF] gestion des accents
    Bsr a tous.
    j'utilise la bibliotheque EZPDF pour generer des fichier PDF imprimable et j'ai un problème avec les accents ki n'apparaissent pas tres bien!

    j'ai utilisé la fonction htmlspecialchars() mais cela empeche le fichier PDF d'etre créé.
    alors si qq a une reponse merci de m'en faire part!

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    Pour ma part, j'utilise une fonction PHP (replace) qui me permet d'enregistrer les accents dans une base MySQL en les convertissant. Et je fais l'inverse pour les avoir dans un PDF, mais j'utilise FPDF ! Mais il me semble qu'ils sont identiques.

    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Membre averti Avatar de cyreel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 388
    Points : 324
    Points
    324
    Par défaut
    j'ai deja essayé ca et ca ne marche pas! peut etre ke je l'ai mal utilisé!
    STP explique moi comment tu t'y es pris!

    J'ai meme essayé de remplacer les lettres par le code HTML pareil!

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Pour ma part, je fais appelle à une fonction une fois que je veux rentrer mes données dans la table :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $variable = replace_accent($_POST['variable']);

    Et je fais l'inverse quand je veux le mettre dans une page PDF :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $variable = replace_transf_accent($row->variable);

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function replace_accent($val_code) {
    	...
    	$val_code = str_replace("é" , "é", $val_code);
    	...
            return $val_code;
    	}
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function replace_transf_accent($val_code) {
    	...
    	$val_code = str_replace("é", "é" , $val_code);
    	...
            return $val_code;
    	}
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  5. #5
    Membre averti Avatar de cyreel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 388
    Points : 324
    Points
    324
    Par défaut
    Merci pour les precision! je vais voir ce que ca donne de mon coté!

  6. #6
    Membre averti Avatar de cyreel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 388
    Points : 324
    Points
    324
    Par défaut
    j'ai essayé les fonctions ke tu m'as donné mais c'est la meme chose.
    le "é" est ecris de cette maniere ds mon fichier PDF: é;
    comment faire pour ecrire le meme caractere?

  7. #7
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    As-tu dans ta base MySQL :
    Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)

    Cela peut venir de là

    Car pour ma part, j'utilise FPDF, mais j'ai testé avec EZPDF est cela fonctionne aussi donc
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  8. #8
    Membre averti Avatar de cyreel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 388
    Points : 324
    Points
    324
    Par défaut
    j'avais pas mis dans la partie interclassement UTF8. je viens de rectifier tous cela. je teste cette nuit et je te fais signe demaisn matin. merci pour ton aide!

  9. #9
    Membre averti Avatar de cyreel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 388
    Points : 324
    Points
    324
    Par défaut
    Bonjour zoom61. j'ai mis ma base en UTF-8.
    j'ai quand meme un soucis sur l'appel de la fonction replace_transf_accent: tu as mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $variable = replace_transf_accent($row->variable);
    mais la variable row elle sert a quoi? quand je met directement la variable: c-a-d $variable = replace_transf_accent($variable); ca ne marche pas! peux-tu encore m'aider?

  10. #10
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Voilà comment je procède, je crée un fichier "fonction.php" contenant le code suivant :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function replace_accent($val_code) {  ... $val_code = str_replace("é" , "é", $val_code); ... return $val_code; }
     
    function replace_transf_accent($val_code) {  ... $val_code = str_replace("é", "é" , $val_code); ... return $val_code; }
    Ensuite quand je veux utiliser la fonction je fais :

    Quand je veux transformer ce que j'ai écris pour le mettre dans une table :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    require ('fonction.php');
    ...
    //je récupére les valeurs venant de la page précédente, et les convertissant pour supprimer les accents
    $variable = modif_code($_POST['variable']);
    ...
    ?>
    Quand je veux le récupérer pour le faire apparaître à l'écran ou dans un fichier PDF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    require('fonction.php');
    ...
    //je récupère les données venant de la requête en les convertissant en accents
    $variable = inmodif_lettre($row['variable']);
    ...
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  11. #11
    Membre averti Avatar de cyreel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 388
    Points : 324
    Points
    324
    Par défaut
    salut!!
    j'ai essayé ce ke tu as dis mais c'est pareil! peut etre ke cela est du a la maniere dont j'enregistre mon fichier! Voilà comment je m'y prend!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $pdfcode = $pdf->output();
    $fname = "/root/doc.pdf";
    $fp = fopen($fname,'w');
    fwrite($fp,$pdfcode);
    fclose($fp);
    ensuite j'ai la possibilité de lire le fichier ou l'imprimer!!!

  12. #12
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Tu fais de la façon suivante :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    require ('fonction.php');
    ...
    $pdf->MultiCell(160,5,inmodif_lettre($row['variable']),1,'L','L',1);
    ...
    $pdfcode = $pdf->output();
    $fname = "/root/doc.pdf";
    $fp = fopen($fname,'w');
    fwrite($fp,$pdfcode);
    fclose($fp);
    ?>
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  13. #13
    Membre averti Avatar de cyreel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 388
    Points : 324
    Points
    324
    Par défaut

    Merci. pour ton aide!!
    mais la fonction MultiCell n'existe pas dans Ezpdf, je crois que je vais plutot utiliser fpdf finalement!

  14. #14
    Membre averti Avatar de cyreel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 388
    Points : 324
    Points
    324
    Par défaut
    j'ai trouvé cooment affiché mes caractères accentué!
    j'ecris dans la base sans encodage particulier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nom=$_POST['nom'];
    puis au moment d'ecrire ds le fichier pdf je fais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nom=utf8_decode($tab['nom']);
    et ca marche sans probleme. peut-etre parce que le jeu de caractères pour MySQL: UTF-8 Unicode (utf8) est celui choisi dans ma base!!

    merci a toi zoom61! et à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/10/2010, 00h23
  2. gestion des accents
    Par androz dans le forum Langage
    Réponses: 2
    Dernier message: 24/09/2009, 15h39
  3. [MySQL5] gestion des accents avec like
    Par mdr_cedrick dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/06/2009, 16h17
  4. [Regex] gestion des accents dans un mot
    Par joseph_p dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 10/05/2006, 09h04
  5. [Conception] Gestion des accents dans une base de données
    Par MiJack dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/07/2005, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo