Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème accent ajax

Sujet résolu
    23 août 2006 à 23:21:53

    Bonjour a tous,

    Pour effectuer une recherche sur mon site, j'ai décidé d'employé un script de recherche qui affiche mes enregistrements correspondants au fur a esure que je tape les lettres.
    J'ai récupérer le script sur ce site
    <lien url=" url="http://developpeur.journaldunet.com/tutoriel/dht/050513-javascript-ajax-xmlhttprequest-recherche1.shtml">"> url="http://developpeur.journaldunet.com/tutoriel/dht/050513-javascript-ajax-xmlhttprequest-recherche1.shtml"></lien>

    Le probleme est que les caractere spéciaux (é, è, ô...) ne sont pas affiché dans la liste des resultats..
    J'ai un ? a la place du caractere...

    Je ne trouve pas d'ou cela vient dans le code...
    Quelqu'un peut m'aider?

    merci d'avance...

    PS: Je ne cite pas le code afin de ne pas trop charger le post car il est sur le site.

    Le lien ne marche pas sur le sdz faites donc un copier coller de l'adresse dans le navigateur
    • Partager sur Facebook
    • Partager sur Twitter
      23 août 2006 à 23:28:55

      Salut,
      il me semble qu'il faut que tu appliques la fonction PHP utf8_decode() (ou son équivalent dans un autre langage serveur) aux données que tu reçois du JavaScript.

      Cordialement,
      Gregoo
      • Partager sur Facebook
      • Partager sur Twitter
        23 août 2006 à 23:34:46

        Merci de ta reponse

        Je vien d'essayer, cela a un effet mais pas le bon :colere2:

        Exemple : Au lieu de S?bastien avant il m'affiche S?stien

        Tu n'aurais pas autre chose? :euh:

        [EDIT]:Je viens de résoudre mon problème.
        Il suffisait d'ajouter header("Content-Type: text/html; charset=iso-8859-15"); en haut de ma page... Merci tout de meme
        • Partager sur Facebook
        • Partager sur Twitter
          23 août 2006 à 23:39:21

          Le javascript a du se tromper sur l'encodage pour afficher le résultat.
          D'habitude les "?" apparaissent quand il croit qu'il faut utiliser UTF-8 (alors que c'est codé en ISO-quelquechose).

          Pour spécifier l'encodage dans php (à placer avant tout affichage de texte):

          header("Content-type: text/html; charset=ISO-8859-1");

          Marche aussi dans l'autre sens avec UTF-8 si la page php est encodée en UTF-8.

          edit: lol
          • Partager sur Facebook
          • Partager sur Twitter
            23 août 2006 à 23:39:44

            Salut,
            tu peux essayer d'appliquer la fonction JavaScript encodeURIComponent() aux données que tu envoies.

            EDIT : Message inutile, pour l'instant :p
            • Partager sur Facebook
            • Partager sur Twitter
              23 août 2006 à 23:42:15

              Tout marche a présent...

              Merci pour vos réponses si rapide, c'est pour cela que je viens chaque jour sur le sdz :p
              • Partager sur Facebook
              • Partager sur Twitter

              problème accent ajax

              × 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