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

Langage PHP Discussion :

erreur affichage image sur IE


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Points : 79
    Points
    79
    Par défaut erreur affichage image sur IE
    Bonjour,
    J'écris dynamiquement sur des une image et j'affiche le résultat. On a la même image mais le texte différent sur chaque image. Ces images s'affichent bien sur FF mais ne s'affichent pas sur IE. Remarque lorsque les textes ne sont pas inscrits, il n'y a aucun problème d'affichage sur les deux navigateurs.
    Voilà le fichier me permettant d'écrire sur l'image(nom_sur_photo.php) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <?php
    header("Content-type: image/jpeg");
    $TXT=$_GET['TRG']; // récupération texte
    $URL=$_GET['URL']; // récupération adresse de l'image 
    $nom_image = $URL;  // le nom de l'image avec l'extension jpeg
    $texte = utf8_decode($TXT);  // Le texte à écrire sur l'image
     
    $size = 15; //taille police
     
    // on créé l'image à partir de l'image source
    $image = imagecreatefromjpeg($nom_image);
     
    // on créé la couleur et on l'attribue à une variable
    $textcolor = imagecolorallocate($image, 255, 255, 255);
     
     imagestring($image, 5, 40, 80, $texte, $textcolor);
     imagejpeg($image);
     imagedestroy($image); 
    ?>
    voilà l'appel du fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
    <?php
    $tableau="<table cellpadding=\"5\" cellspacing=\"0\" width=\"100%\"><tr>";
    $colonne = 0 ;
     
    for($i=1;$i<4;$i++){
     
        $lib_t="ESSAI_".$i;
        $url="../image/image_fixe.jpg";
       if($colonne ==3){
         $tableau .= '</tr>' . "\n" . '<tr>' ."\n";
         $colonne = 0;
       }
        $tableau.="<td align=\"left\"><a href=\"mapage.php\"><img src=\"../inc/nom_sur_photo.php?TRG=".$lib_t."&URL=".$url." \" border=\"0\" /></a></td>". "\n";
      $colonne ++;
    }
     $tableau.='</tr></table>';
     echo $tableau;
    ?>
    J'ai cherché ce qui n'allait pas dans le script en vain !
    Je vous remercie d'avance de votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    J'ai testé avec Chrome et Edge et le code fonctionne bien.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Points : 79
    Points
    79
    Par défaut
    Merci de votre réponse.
    En effet, j'ai constaté que quand le message avait un accent, il n'y avait pas affichage du texte sur IE mais avec accent ou non cela s'affiche sur FF. Toutefois, les textes sans accents s'affichent bien sur IE. En fait, en réalité, les textes proviennent d'une BDD. La base (utf-8) mes pages (utf-8).
    Pour les textes récupérés en $_GET j'utilise utf8_encode(), ainsi les textes ayant un accent sont pris en compte et affichés correctement avec FF mais avec IE dans ce cas, l'image ne s'affiche pas mais affiche les images avec textes sans accent !
    J'espère que je me suis fait comprendre. Je vous remercie de votre aide.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne constate de problème d'accents ni avec Chrome ni avec Edge.

    Si tu dois passer des accents dans une URL, tu peux utiliser urlencode() mais il n'y a pas d'utilité d'encoder en UTF8
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Points : 79
    Points
    79
    Par défaut
    Merci de votre réponse,
    j'ai utilisé urlencode() lors de la réception du texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?php
    .
    .
    .
    $montexte=urlencode($montexte);
     
    <a href=../inc/affiche_image.php?TXT=$montexte>
     
    ?>
     
    //--dans affiche _image.php j'ai utilisé urldecode()
    <?php
    $ltext=$_GET['TXT'];
    $ltext=urldecode($ltext);
    ?>
    Mais les images s'affichent sans texte que ce soit sur IE que sur FF
    Je ne crois pas que j'utilise cela correctement. Pouvez vous m'indiquer comment utiliser ces fonctions ?
    Je vous remercie encore.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est pour encoder dans l'url :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    inc/nom_sur_photo.php?TRG=".urlencode($lib_t)."&URL=
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Points : 79
    Points
    79
    Par défaut
    Merci,
    j'ai utilisé urlencode() comme indiqué
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    inc/nom_sur_photo.php?TRG=".urlencode($lib_t)."&URL=
    et récupéré ce paramètre avec la fonction urldecode(), mais pour IE, les images avec texte accentué ne s'affichent pas, mais avec FF, les images avec texte accentué affichent les caractères spéciaux ???
    Je ne sais plus comment faire !!!
    Merci encore de votre aide !

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as pas besoin de décoder.
    Est-ce que tu es sûr que tes données de départ sont en UTF8 et que tu as besoin de utf8_decode à l'arrivée ?
    Moi je n'arrive pas à reproduire ton problème.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Points : 79
    Points
    79
    Par défaut
    Oui je suis très sur que ma base c'est utf8_general_ci,

    ma page de transfère j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php header("content-type: text/html; charset=utf-8");?>
    dans la partie html j'ai ceci dans le <head> :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    Tout à l'heure j'ai utilisé utf8_encode() au lieu de urlencode()
    En utilisant urlencode() tout court, voilà un exemple de texte que les images affichent dans IE et FF :
    Exemple de texte : Développement Économique ==> D&eacute;veloppement &Eacute;conomique
    Cette fois quand même les images s'affichent mais avec les caractères html !
    Comment l'afficher correctement ?
    merci de votre aide !

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    utf8_general_ci c'est un interclassement ce n'est pas l'encodage des données.
    si tu vois des entités HTML c'est que tu as un htmlentites() quelque part dans ton traitement (eventuellement même avant l'insert dans la base de données).
    Le mieux evidemment est de ne pas avoir ces entités. Au pire tu peux toujours utiliser html_entity_decode()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Points : 79
    Points
    79
    Par défaut
    Bonjour,
    j'ai utilisé html_entity_decode() mais cela ne décode pas les accents correctement notemment D&eacute;veloppement &Eacute;conomique ==>
    DASveloppement A conomique (avec A et S ayant un trait au dessus de leur "tête") j'ai tout éssayé en vain.
    Je ne sais plus quoi faire !
    Je vous remercie de votre aide

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

Discussions similaires

  1. Problème affichage image sur JButton
    Par Alba.1337 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 28/06/2012, 10h39
  2. Affichage Image sur n colonnes avec Crystal Report
    Par callo dans le forum Windows Forms
    Réponses: 1
    Dernier message: 09/09/2009, 18h41
  3. affichage image sur page HTML
    Par Romy-Dina dans le forum Django
    Réponses: 7
    Dernier message: 17/08/2009, 19h49
  4. Problème affichage image sur N95
    Par dams95190 dans le forum Développement Mobile en Java
    Réponses: 6
    Dernier message: 10/09/2008, 15h38
  5. probleme affichage image sur le site
    Par ifate dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 03/08/2008, 11h53

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