Affichage caractères spéciaux

Discussion dans 'Web, design' créé par MbK_, 21 Août 2008.

Statut de la discussion:
Fermée.
  1. Offline
    MbK_ Etudjant
    Bonjour,

    J'ai réalisé un site en local et je viens de le mettre sur internet! Le problème est que les caractères spéciaux sont mal affichés!

    Sur IE j'ai un carré et sur FF, j'ai un point d'interrogation �...

    Je sais que c'est une questions d'encodage mais j'ignore ce qu'il faut faire pour le réparer!

    HELP svp :)

    le lien est ICI

    EDIT : Après plusieurs recherches, je vois que le peux changer l'encodage sur FF et cela s'arrange! Que dois-je faire pour que tout le monde voit convenablement les caractères!

    Lors de la réalisation du site, j'avais parfois des problèmes en faisant des "echo" en php. J'ai donc écrit les caractères en ENTITIES (ex : à) et ca allait mieux!

    Dans ma base de donnée, les données s'enregistrent de plusieurs manieres :

    Si c'est par le forum, c'est en caractère normal mais si c'est par un script que j'ai écrit, c'est en caractère du style é!

    J'ai donc pleins d'encodages différents sur le site et je ne sais pas lequel prendre pour que le site soit visible de tous!

    Que dois-je mettre également en entete ? Pour le moment, c'est

    PHP:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    Je suis un peu perdu...

    EDIT : Bon, je remarque qu'en le passant en iso-8859-1 ca s'affiche bien en grande partie mais pas tout!

    En réalité, j'ignore en quel type d'encodage les données du forum phpBB sont enregistrées dans la bdd! Vous savez ca?
    MbK_, 21 Août 2008
    #1
  2. Offline
    RiverMichael Elite
    Tu dois tout mettre en unicode ( UTF-8 ) si tu veux que tous le monde le voit correctement.
    Après, tous le monde n'a qu'à être en unicode.
    RiverMichael, 22 Août 2008
    #2
  3. Offline
    Tifox ou pas
    Essaye (c'est l'encodate "français")

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


    Ceci dit, travailler avec des encodages différents, c'est pas la meilleur idée qua dtu as le contrôle sur l'encodage des données.
    Tifox, 22 Août 2008
    #3
  4. Offline
    MbK_ Etudjant
    En fait, je n'ai jamais fait attention aux différents encodages, c'est pour ca que j'en utilise des différents!

    Dans phpmyadmin, je remarque ceci :
    • Jeu de caractères pour MySQL: UTF-8 Unicode (utf8 )
    • Interclassement pour la connexion MySQL: utf8_unicode_ci
    et tous ls champs text ou varchar son en latin1_swedish_ci

    Vu que j'ai déjà quelques insertions dans la BDD, quel jeux de caractère devrais-je choisir pour l'affichage?

    EDIT : je remarque que l'utf8 reconnait tous les caractères alors que les iso pas...

    Je n'aimerai pas manquer de caractère dans quelques mois (ex : le €)

    Le mieux n'est pas donc de passer en utf8 (gamerz est apparemment en utf8 :D )? Que dois-je changer dans ma BDD dans ce cas? Quel est la différence entre interclassement et le jeux de caractère de la bdd?
    MbK_, 22 Août 2008
    #4
  5. Offline
    Tifox ou pas
    L'encodage de gamerz, c'est du ISO-8859-1 d'après le code source des pages.

    Note que ISO-8859-1, c'est connu aussi sous le nom de latin1 ou occidental.

    Pour ce qui est de changer l'encodage dans mysql, je ne l'ai jamais fais avec des données existantes, je ne sais pas si tu peux faire ça directement sans passer par un import/export.

    Fais une recherche dans google, tu devrait trouver des bonnes infos (j'ai pas les url sur ce pc-ci).
    Tifox, 22 Août 2008
    #5
  6. Offline
    MbK_ Etudjant
    Y'a un moment, j'etais tombé sur un site qui reprenait toutes les erreurs d'encodages.

    ex : un "é" s'affiche @" si vous affichez du utf8 en latin1...

    etc mais je trouve plus l'adresse !

    PS : d'après firefox, gamerz est affiché en UTF8... je comprends plus trop mnt :x
    MbK_, 22 Août 2008
    #6
  7. Offline
    MbK_ Etudjant
    Bon, je pense que je vais tout mettre en ISO-8859-1!

    J'utilise Dreamweaver et j'aimerai qu'il sache que c'est dans cet encodage qu'il doit enregistrer les pages! En effet, dans ma BDD, j'encode les caractère normalement (é, è etc et non pas &eacute; etc) et ca s'affiche bien après un echo par contre, dans les pages elles-memes, lorsque j'écris "é ou è", ca s'affiche "é" par ex...

    Faut-il que je change un parametre dans dreamweaver pour qu'il écrite tout en latin1?

    Dans les propriétés de la page, je vois que je suis en UTF8, mais je ne vois pas dans la liste un latin1 ou un ISO-8859-1. Je mets quoi alors?
    MbK_, 22 Août 2008
    #7
  8. Offline
    MbK_ Etudjant
    J'ai trouvé, il faut le mettre en Western European!
    Ca a l'air d'aller pour le moment à part que j'ai rien touché à la phpmyadmin...

    Je dois faire quelque chose? Le mettre en latin1? Si oui, lequel, pcq y'en a plein!
    MbK_, 22 Août 2008
    #8
  9. Offline
    ozilrit Touriste
    Si.

    Non.

    Rien.

    Actuellement, il enregistre en Windows-1252, une extension de iso-8859-1.
    ozilrit, 22 Août 2008
    #9
  10. Offline
    ozilrit Touriste
    En somme :
    • Dreamweaver en UTF-8,
    • base de donnée en UTF-8,
    • et annoncer UTF-8.
    ozilrit, 22 Août 2008
    #10
  11. Offline
    MbK_ Etudjant
    Et comment tu arrives à voir dans quel encodage la page est?

    Vu que l'utf8 est utilise seulement si on utilise des autres langues etc et que mon site restera en FR, j'ai opté pour l'iso-8859-1! Toutes mes pages sont ainsi changées!

    Par contre, je n'ai toujours rien fait à ma BDD... Pour la mettre en iso-8859-1, il suffit de mettre iso-8859-1 dans les parametres ou faut-il faire quelque chose de spécial? J'ai pas trop envie de tout faire foirer!
    MbK_, 22 Août 2008
    #11
  12. Offline
    ozilrit Touriste
    €ool !
    ozilrit, 22 Août 2008
    #12
  13. Offline
    Kent Touriste
    Il ne faut pas tout confondre.
    Dans une page web il y a deux encodages qui doivent être cohérents*:
    1. L'encodage du document*: le document lui même est encodé d'une certaine façon.
    2. L'encodage spécifié*: le code que la page affirme utiliser.


    Pour le reste, le navigateur fait son choix en testant ces deux parametre.

    L'idéal serait de tout mettre en utf_8... méthode qui a cependant plusieurs défauts. Dans un premier lieu, php gère mal l'utf8 vu que son moteur est basé l'encodage iso 8895-1. Si l'on ne fait pas attention de très gros soucis peuvent survenir. Idéalement les fichiers devraient être en ISO et renvoyer une page en UTF (encore que pour le français l'utf8 n'apporte pas énormément par rapport à l'iso [sauf dans des cas particuliers]). Autre défaut l'utf8, encodage multi-bytes, prend plus de place que l'iso, et il en résulte des pages (un peu) plus volumineuses.
    Kent, 24 Août 2008
    #13
  14. Offline
    MbK_ Etudjant
    Je n'ai plus de problème après avoir tout mis en ISO! Mais bon, j'aurais pu tout mettre en UTF8 aussi mais c'est moins lourd ainsi!

    Merci pour vos éclaircissements !
    MbK_, 26 Août 2008
    #14
  15. Offline
    Bidibule2000 Elite
    Comme le dit Kent, l'encodage c'est aussi au niveau du fichier donc il faut checker que les pages soient en UTF8 (sans BOM de préférence)
    Bidibule2000, 30 Août 2008
    #15
Statut de la discussion:
Fermée.