Caractères accentués non affichés

zore -  
Bobinours Messages postés 2903 Statut Membre -
Bonjour à tous

J'ai développé un site à l'aide de EasyPHP sous windows. Depuis j'ai installé une RedHat 9.0 où j'ai mis Apache, PHP et MySQL.
Depuis lorsque je visualise mes pages dans le navigateur ( Konqueror ou IE) tous mes caractères accentués sont remplacé par des ?.@/.?.

Pouvez vous me dire d'ou cela peut venir? d'une page de code non chargé?
Pb Apache? PHP?

Merci d'avance.

3 réponses

  1. monbobo Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   133
     
    Ca vien de Linux il connais po les accents, y a pitet des patchs pour ça, corrige est enregistres t pages dpuis un poste windows avant de les transférer sur le serveur. Ca peut pitet marcher

    Monbobo II: l'heureux tour.
    0
    1. Bobinours Messages postés 2903 Statut Membre 504
       
      Une fois de plus, l'ignorant accuse à tord...

      Comme le signale omar, les caractères spéciaux, dont les accentués, doivent être encodés en HTML.

      Il existe deux types d'encodage:
      - Le code ISO de la forme : 
      - Les ENTITEES de la forme : é

      Regarde ici :
      http://www.chez.com/starshoot/html/caractere.htm

      L'encodage ENTITY est généralement plus clair et plus facile à mémmoriser.
      0
  2. omar
     
    Ce n e serait pas car tu n 'utilsise pas le codedes caractere saccentués dans ton code html?
    exemple un espace vaut  
    Pour la liste des acartères accentués (é, è..) cf ici ya un tableau:
    html
    http://www.allhtml.com/wml/wml36.php
    A+ omar
    0
  3. Guillaume
     
    c'est l'encodage :

    http://www.envrac.org/index.php/2006/03/11/58-un-tutoriel-sur-le-character-encoding

    Tu as le choix :

    1. dans ta page (dans le head du html)
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    2. dans le code php :
    header ('Content-Type: text/html; charset=utf-8');
    ce qui écrase le head du corps html

    ps [Bobinours]

    "Il existe deux types d'encodage: Le code ISO de la forme : � et Les ENTITEES de la forme : é"

    Il existe plusieurs type d'encodage, dont iso-5589-1 (ou latin-1, bien de chez nous) et utf-8 (~ unicode, pouvant coder les caractères spéciaux sur plusieurs octets).
    Essaye strlen('€'); en iso, ça fait 3. en utf-8, ça fait 1.
    d'où le 'é' que tu voit apparaitre du style 'é' en iso, puisque 'é' est cosé sur 2 octets que iso code et interprète comme 2 caractères.
    0
    1. Bobinours Messages postés 2903 Statut Membre 504
       
      Arf... Salut Guillaume.
      Je t'avoue que 3 ans après, moi-même je ne comprends pas ce que j'ai voulu dire ^^'
      0