Php/phpmyadmin - Prob.Affichage

Bonjour, Quand je fais afficher des données de ma base, il ne veut pas afficher les caractères spéciaux. comme "é" "&" "à"
Par contre quand j'écris "terminé" sur la même page en brute dans le code, il me le marque sans soucis...

Charset de la page est en iso-8859-1
La base de données en UTF-8

si je met la page en UTF-8 ça ne m'affiche plus les à de la base de données

Si vous avez une réponse à mon problème !

Merci

9 réponses

  1. Bonjour

    Problème classique d'encodage. Tu n'es pas cohérent entre :
    . l'encodage de l'éditeur avec lequel tu crées tes pages
    . l'encodage déclaré (ou pas) dans les balises meta de tes pages
    . l'encodage utilisé pour les tables de ta base de données
    et peut-être aussi (si tu utilises utf-8) dans les fonctions que tu utilises pour manipuler les chaînes
    et peut-être autre chose que j'oublie.

    Devant le nombre de raisons possibles, il n'y a pas de recette simple qui résoud tout dans tous les cas.
    Il faut choisir un encodage, et en tenir compte à tous les niveaux de la création des pages, des échanges avec la base de données et de la manipulation des chaînes.
    0
    1. Ok j'en tiens compte, j'ai passé tout mes pages en UTF-8 mais l'affichage est encore plus monstrueux. Pourtant mes pages sont en UTF-8 ainsi que la base de données.

      Je cherche toujours =(
      0
      1. J'ai passé ma BDD en ANSII, mis mes pages en ISo-8859-1 et les convertis en ANSII et la c'est l'inverse, le texte brute s'affiche mal et les données de la base s'affiche très bien.

        Faut trouver le juste milieu !
        Snif !

        Je deviens fou !
        0
        1. Faut trouver le juste milieu !
          Il n'y a pas de juste milieu. Là, il faut être intégriste ;) si tu veux que tout soit cohérent.

          Sais-tu ce que tu as réellement fait en passant at BDD en ANSII ? L'encodage ANSII n'existe pas, tu sembles mélanger ANSI (inconnu de mysql) et ASCII.

          Comment as-tu fait pour passer tes pages en iso-8859-1 ? Tu as ajouté une balise meta sans doute, mais ça ne suffit pas. Cette balise n'est qu'une déclaration destinée au navigateur, encore faut-il que tes pages soient réellement écrites en iso-8859-1. Pour ça, il faut utiliser le bon encodage pour l'éditeur qui te sert à écrire tes pages. D'après ce que tu décris, ton problème serait à ce niveau.
          0
          1. j'utilise notepad pour convertir mes pages. seulement je peux préciser dans l'en-tete des pages autre chose.

            Alors ça marche en mettant la base en UTF-8, les fichiers converti en ANSI et le charset des pages en ISO-8859-1

            Seulement j'envoi un mail automatique et celui ci a les caractères bizarres, mais sur mon appli web je n'ai plus de soucis d'affichage.
            0
            1. Alors ça marche en mettant la base en UTF-8, les fichiers converti en ANSI et le charset des pages en ISO-8859-1
              Tu mélanges les encodages... Ce n'est pas interdit quand on sait ce qu'on fait. C'est toi qui vois. Bon courage.
              0
              1. Je mélange mais ça marche pour mon appli. Je suis entrain de voir pour l'envoi de mail par fichier txt comme ça le probleme sera résolu.
                0
                1. ça marche pour mon appli.
                  Même quand tu vas consulter ta base de données avec phpMyAdmin
                  C'est très bien alors. Bonne continuation.
                  0
                  1. oui meme quand je la consulte. Merci, je bloque sur l'envoi de mail que j'avais deja reussi à faire u_u. Bref je bidouille le code
                    0