IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Problème codage des caractères


Sujet :

HTML

  1. #1
    Invité
    Invité(e)
    Par défaut Problème codage des caractères
    Bonjour,

    Je ne sais pas si mon message est bien placé ou même si le titre est explicite mais je suis pas très inspiré ce matin...

    J'ai un site dans lequel, au début de chaque page, j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    Jusque là ça va.

    Sur ce site, j'ai un formulaire d'inscription. La personne entre son nom, son prénom, etc. A un moment elle sélectionne son pays dans une liste et là, en javascript, la page est actualiser pour mettre à jour des informations relative au pays.

    Et PAF !!! les caractères accentués deviennent des suites de caractères incompréhensibles....

    J'ai un peu besoin d'aide...

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Quel est l'encodage de ton serveur ? Avec quel encodage sont enregistrées tes pages ?

    Les caractères sont plutôt comme ça :

    ou comme ça :
    é

    ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Quel est l'encodage de ton serveur ? Avec quel encodage sont enregistrées tes pages ?

    Les caractères sont plutôt comme ça :

    ou comme ça :
    é

    ?
    Comment est-ce que je trouve l'encodage de mon serveur ?

    Pour les pages c'est iso-8859-1 puisque j'ai mis ça au début des pages :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    yéyèyàyö se transforme en Y騫閇炸 (je sais c'est hardcore...)

    P.S. comment ça on voit que je n'y connais rien en encodage...

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Pour l'encodage de ton serveur, tu le trouves par défaut dans le httpd.conf.
    Mais tu peux le redéfinir au cas par cas soit avec un htaccess soit en mettant en haut de chacune de tes pages une instruction en langage serveur. En PHP par exemple ça donnerait :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    header( 'content-type: text/html; charset=iso-8859-1' );
    Quand je parle de l'enregistrement des pages, ce n'est pas avec la balise meta, mais en général c'est dans les fonctionnalités de ton éditeur. Par exemple, avec Notepad++ :
    Format > Encoder en ANSI

    En général l'iso-8859-1 est l'encodage par défaut sur nos serveurs européens (mais en as-tu un ?), ainsi que l'encodage des pages sur les éditeurs francophones. Donc il faudrait surtout trouver à quel stade tu n'as pas d'iso-8859-1.

    Si on peut avoir quelques compléments (genre la façon dont tu rafraichis ta page, comment est inclut le JS, d'où proviennent les informations de ta page) ou un lien (le top) ...

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je ne trouve pas l'encodage dans mon httpd.conf...

    Pour les pages, c'est encodé en ANSI.

    J'inclus mon javascript comme ceci dans le head :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script type="text/javaScript" src="scripts/_validateindex.php"></script>
    la fonction qui rafraichi la page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function switch_lang(obj,lang)
    {
    	obj.submitmode.value = "change_lang";
    	obj.lang.value = lang;
    	obj.submit();
    }
    L'endroit où elle est appelée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <select name="pays" size="1" style="width:164px;" tabindex="10" onchange="javascript:switch_lang(document.forms[0],'<?php echo $_SESSION["TEMP_LANG"]; ?>');"><?php echo $combopays; ?></select>
    Voici le lien si tu veux t'amuser à tester.

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Hum, essaie de mettre le header PHP de mon précédent post sur ta page.

    Tu ne fais pas un traitement PHP sur les valeurs avant de les rafficher ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    J'ai trouvé quelque chose de bizarre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form action="cheminDeOuf/fichierDeOuf.ExtensionDeOuf" method="post" accept-charset="iso-8859-1" style="margin:0px">
    C'est quoi ce accept-charset ? J'ai jamais vu ça avant.

  8. #8
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ca définit la liste des jeux de caractères acceptés par le serveur traitant les données, à mon avis ce n'est pas ça qui bloque. Mais tu peux effectivement l'enlever.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Alors, après une longue analyse, ce que je mets dans le champ nom est envoyé à un fichier avant l'actualisation qui s'occupe de mettre le nom dans une variable de session.

    J'ai testé l'affichage de la variable $_POST["nom"] au début du fichier et elle est déjà défiguré. Comme si la méthode post envoyait mal les données... c'est bizarre...
    Dernière modification par Invité ; 14/11/2008 à 15h47.

  10. #10
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    As-tu essayé le header PHP pour forcer le serveur à utiliser de l'iso-8859-1 ?

    Si oui, je ne vois pas trop d'où peut provenir le problème, et à mon avis ce n'est plus du ressort du HTML.

  11. #11
    Invité
    Invité(e)
    Par défaut
    J'ai fait un test minimaliste.

    J'ai créer une page avec ceci dedans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <html>
    <head>
    </head>
    <body>
    <form action="test.php" method="POST">
    <input type="text" name="nom" size="30" maxlength="60" tabindex="1">
    <input type="submit" />
    </form>
    </body>
    </html>
    Une autre avec cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
            echo $_POST["nom"];
    ?>
    J'ai entré :

    craquééééèèà
    Il est sorti :

    craqu鳬鳬韋

    Je commence à avoir la tête qui fume...

  12. #12
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Avec une seule et même page comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    header( 'content-type: text/html; charset=iso-8859-1' );
    echo $_POST['nom'];
    ?>
    <html>
    <head>
    </head>
    <body>
    <form action="" method="post">
    <input type="text" name="nom">
    <input type="submit">
    </form>
    </body>
    </html>
    ?

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Avec une seule et même page comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    header( 'content-type: text/html; charset=iso-8859-1' );
    echo $_POST['nom'];
    ?>
    <html>
    <head>
    </head>
    <body>
    <form action="" method="post">
    <input type="text" name="nom">
    <input type="submit">
    </form>
    </body>
    </html>
    ?
    Même erreur !!!!!

    ????????????????????

  14. #14
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Mouais, donc le problème n'est ni au niveau PHP, ni au niveau HTML, mais très certainement au niveau de la configuration de ton serveur ...

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/05/2008, 00h48
  2. Réponses: 3
    Dernier message: 15/02/2008, 18h19
  3. Fil RSS et codage des caractères
    Par komoku dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2007, 12h52
  4. Problème codage des caractères
    Par webrider dans le forum Requêtes
    Réponses: 1
    Dernier message: 29/06/2006, 21h32
  5. Problème (éviter des caractères non voulu)
    Par Le Rebel dans le forum Langage
    Réponses: 3
    Dernier message: 16/02/2006, 13h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo