Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Flash]accents

Sujet résolu
    14 août 2006 à 21:05:46

    bonjour

    Dans mon code, je lis les dopnnées d'une base de donnée via un fichier PHP. Jusque là, j'ai plus ou moins réussi à comprendre tous les problèmes.

    Mais je viens de découvrir quelque chose de gênant. Lorsque ce que la base de données renvoie un caractère accentué, PHP renvoie bien le caractère mais flash refuse de le lire.

    Et que ce soit un vrai caractère accentué ou un caractère formaté html ( &eacute, j'ai fai tun test, il ne lit pas non plus quand la base de données renvoie simplement &.

    Quelqu'un a une solution pour résoudre ce pb ? :S
    merci
    • Partager sur Facebook
    • Partager sur Twitter
      14 août 2006 à 21:33:12

      Bon, premièrement, il est préférable que les données ne soient pas transmises sous forme d'netités HTML.
      Donc il faut reconvertir tous les &XXX; en leur équivalent avec html_entity_decode();

      Ensuite, à moins que ce soit déjà le cas, il est préférable d'encoder les données en utf8 avec utf8_encode(); Mais là c'est toi qui voit !

      Et pour finir, tu encodes les données au format url avec url_encode();

      Et là tu transmets, et ça devrait fonctionner :)
      • Partager sur Facebook
      • Partager sur Twitter
        14 août 2006 à 21:51:57

        hum j'ai mis :
        $data = urlencode(utf8_encode($data));
        echo("reponse=$data");

        mais ça ne fonctionne pas plus :S
        • Partager sur Facebook
        • Partager sur Twitter
          14 août 2006 à 22:16:40

          c'est à dire ? montre ce que renvoie la page, ou donne un lien
          • Partager sur Facebook
          • Partager sur Twitter
            14 août 2006 à 22:42:58

            ben en fait Flash lit :
            Image utilisateur
            (oui rien de tout ça ne veut dire quelque chose ce n'est que des tests)
            Les lignes vierges représentent les lignes avec un caractère spécial (un accent, ou alors &). A noter que flash lit certains caractères spéciaux, car il lit § sans soucis
            • Partager sur Facebook
            • Partager sur Twitter
              14 août 2006 à 23:18:06

              oui, mais j'aimerai avoir vraiment la page web qui est chargée devant les yeux :)
              • Partager sur Facebook
              • Partager sur Twitter
                14 août 2006 à 23:55:47

                l'adresse internet ? Désolé c'est encore purement local, et c'est impettable sur le net actuellement simplement vu le nombres de fichiers qu'ils faudraient que j'uploade alors qu'ils ne sont pas finis (et ça poserait des pb de communication avec l'autre personne qui travaille sur le FTP)..
                Si tu veux plus de détails voilà le code :
                onClipEvent(load){
                        cpt=0;
                        _root.reco.lv=new LoadVars();
                        _root.reco.lv.load("http://127.0.0.1/flash/countreco.php?id=1","0","POST");
                //on compte le nombre d'éléments
                        _root.reco.lv.onLoad=function(){
                                max = _root.reco.lv.nb;
                                _root.parcours._y = 150 + 20 * max;
                                if(max!=0){
                                max++;
                                for(var i:Number = 1;i<max;i++){
                                        this["lv"+i]=new LoadVars();
                                        this["lv"+i].load("http://127.0.0.1/flash/recotxt.php?id="+1+"&tot="+i,"POST","0");

                                        this["lv"+i].onLoad=function(){
                                                pos = this.reponse.indexOf('§');
                                                cpt = this.reponse.slice(pos+1);
                                                phrase = this.reponse.slice(0, pos);
                // ce passage est là pour traiter la réponse.
                                                trace(phrase);
                //C'est cette trace que tu as vue.
                                                duplicateMovieClip(_root.lignereco,"ligneR"+cpt,1000+cpt);
                                                _root["ligneR"+cpt].txt.htmlText = phrase;
                                                _root["ligneR"+cpt]._x = 400;
                                                _root["ligneR"+cpt]._y = 130 + 20 * cpt;
                //l'affichage
                                        }
                                }
                                }
                        }
                       
                }

                et le code PHP
                <?
                mysql_connect("localhost", "root", "");
                mysql_select_db("frenchchef_dbb");
                $id=$_GET['id'];
                $tot=$_GET['tot'];
                $sql = "SELECT cv_texte,cv_annee FROM t_cv WHERE cv_chef = ".$id." ORDER BY cv_annee DESC";
                $reponse = mysql_query($sql);
                $ch = 1;
                $cpt = 0;
                while ($donnees = mysql_fetch_array($reponse) ){
                        $cpt++;
                        if($cpt==$tot){
                                $data=$donnees['cv_texte']."§".$donnees['cv_annee'];
                        }
                }

                $data = $data."§".$tot;
                $data = urlencode($data);
                echo("reponse=$data");
                mysql_close();
                ?>


                en fait flash demande la $totième valeur de la requête en fonction de $id

                situ veux plus, ben, je suis sur MSN ^^'


                EDIT : Je suis vraimet dsolé pour SuprazZz qui a perdu son teps avec moi hier alors qu'en fait si j'avais bine lu sa première réponse... -_-'''
                En tous cas je le remercie beaucoup.
                • Partager sur Facebook
                • Partager sur Twitter
                  15 août 2006 à 11:47:44

                  faudrait mettre que le pb est resolu

                  t'avais oublié le html_entity_decode(); ?

                  le bon code c'était ça ? (pour que ton problème puisse servire aux autres zeros, il faudrait donner la solution :-° )


                  $data = html_entity_decode($data);
                  $data = urlencode(utf8_encode($data));

                  • Partager sur Facebook
                  • Partager sur Twitter
                    15 août 2006 à 14:13:39

                    euh oui c'est ça, enfin je mets :
                    $data = urlencode(html_entity_decode(utf8_encode($data)));
                    M'enfin...
                    (il faut enlever utf8_encode quand les pages web et PHP, on prévient qu'on bosse en utf-8 )

                    la raison pour laquelle je n'avais pas mis résolu est que je ne sais pas comment le mettre en éditant ^^'
                    • Partager sur Facebook
                    • Partager sur Twitter

                    [Flash]accents

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown