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

Langage PHP Discussion :

Probleme d'accents sous Linux


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut Probleme d'accents sous Linux
    Bonjour,

    Voici deux petits scripts tout simple qui fonctionne sous Easy PHP (windows)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form name="form1" method="post" action="test3.php">
      <select name="test" size="1">
        <option>f&eacute;vrier</option>
      </select>
      <input type="submit" name="Submit" value="Envoyer">
    </form>
    ensuite mon but est de récupérer la valeur "février" sur test3.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <?php
    $mois = $_POST['test'];
    echo $mois;
     
    if($mois == "février"){
    	echo "ok";
     
    }
    if($mois == "f&eacute;vrier"){
    	echo "ok1";
     
    }
     
     
    if($mois == "fevrier"){
    	echo "ok2";
     
    }
    ?>
    Lorsque je stocke ces deux petits fichiers sous easy php j'obtiens : févrierok

    Alors que quand j'insère celui ci sous le serveur Apache qui se trouve sur une machine linux fedora 8, j'obtiens uniquement février
    Il ne rentre dans aucune des boucles je ne comprend pas pourquoi...

    Avez vous une solution ?

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Il n'y aurait pas un problème d'encodage par hasard ?
    Sous windows, tu es en ISO-8859-1, alors que sous Fedora, tu es en UTF-8. Il est donc possible que ton fichier PHP (qui contient des caractères accentués) ait une allure bizarre...

  3. #3
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Salut,

    Essaie un peu de passer ta valeur dans l'attribut prévu à cet effet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <option value="f&eacute;vrier">f&eacute;vrier</option>
    et check la remarque d'alband85

    ++

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    Merci de vos réponses.

    J'ai testé en y mettant la valeur mais je n'ai pas eu de changement.

    Ensuite pour la remarque concernant le Charset, j'y ai déjà penser mais je ne sais pas comment y remédier.

    Sachant que quand je valide j'obtiens "février" et pas de caractère bizarre.

  5. #5
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Mis à part un éventuel problème d'encodage de caractère... je ne vois pas!

    $mois devrait obligatoirement rentré dans une des conditions... il doit manquer un élément a ton énoncé... le problème est ailleurs...

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Tu peux modifier l'encodage du fichier avec n'importe quel bon éditeur de texte. N'étant pas sous Windows, je ne sais pas lequel te conseiller, mais tu devrais trouver ton bonheur ici : http://www.framasoft.net/rubrique157.html.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    Voici mon code en entier avec le charset :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans titre</title>
    </head>
     
    <body>
    <form name="form1" method="post" action="test3.php">
      <select name="test" size="1">
        <option value="f&eacute;vrier">f&eacute;vrier</option>
      </select>
      <input type="submit" name="Submit" value="Envoyer">
    </form>
    </body>
    </html>
    et le second :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans titre</title>
    </head>
     
    <body>
    <?php
    $mois = $_POST['test'];
     
    if($mois == "février" ){
    echo $mois."ok";
    }
    elseif($mois == "f&eacute;vrier" ){
    echo $mois."ok1";
    }
    elseif($mois == "fevrier" ){
    echo $mois."ok2";
    }
    else{
    echo $mois;
    }
    ?>
     
    </body>
    </html>

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Ce qui serait intéressant serait que tu fasses un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat /chemin/vers/test3.php
    sur le serveur Fedora. Ca permettra de voir à quoi ressemblent les accents.

  9. #9
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Salut!

    Bon voilà que ton problème à une solution...
    Il s'agit bien d'un mauvais encodage de caractère.

    Le formulaire de ta page encodé ANSI avec charset iso8859-1 -> AFFICHERA: févrierok
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans titre</title>
    </head>
     
    <body>
    <?php
    $mois = $_POST['test'];
    if($mois == "février" ){
    echo $mois."ok";
    }
    elseif($mois == "f&eacute;vrier" ){
    echo $mois."ok1";
    }
    elseif($mois == "fevrier" ){
    echo $mois."ok2";
    }
    else{
    echo $mois;
    }
    ?>
     
    <form name="form1" method="post" action="insert.php">
      <select name="test" size="1">
        <option value="f&eacute;vrier">février</option>
      </select>
      <input type="submit" name="Submit" value="Envoyer">
    </form>
    </body>
    </html>
    La même page encodé UTF-8 avec charset iso8859-1 affichera février

    Expérience :
    Change la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <option value="f&eacute;vrier">février</option>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <option value="février">février</option>
    La page encodé ANSI avec charset iso8859-1 donnera -> févrierok
    et encodé UTF-8 avec charset iso8859-1 affichera -> févrierok

    Donc ton problème se situe au niveau de l'encodage du "&eacute;". Je te laisse en faire les déductions

    ++

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    Alors j'ai peut etre trouvé une solution (bricolage)

    Sur test3.php, lorsque je récupere la valeur $mois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $mois = $_POST['test'];
    je le remplace par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $mois = utf8_decode($_POST['test']);
    lorsque je fais un echo du résultat je me retrouve avec un losange à la place du "é" mais ceci me fait rentrer dans la premiere boucle.
    J'obtiens donc "f vrierok"
    A la place de l'espace vous ajoutez un losange.


    PS : j'ai essayé avec "cat", en me connectant en ssh au serveur mais le fichier est exactement le même.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    Pourrais tu me donner plus d'informations s'il te plait, j'ai du mal a comprendre ta réponse.

    tu dis :
    Le formulaire de ta page encodé ANSI avec charset iso8859-1 -> AFFICHERA: févrierok

    La même page encodé UTF-8 avec charset iso8859-1 affichera février

    Ma question est :
    Comment peut on changer l'encodage ANSI en UTF-8 sans modifier le charset iso 8859-1 ?

  12. #12
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Bon ok! je vais être plus clair!

    Mettre des caractères accentués dans une page HTML ce n'est pas bien sauf si... 3 solutions :
    • tu remplaces tes caractères accentués par les entités HTML correspondantes
    • Tu laisses les caractères accentués, ton fichier est sauvegardé au format ANSI et tu rajoutes la meta des tables de caractère correspondante à notre région.
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">
    • Tu laissses les caractères accentués, ton fichier est sauvegardé au format UTF-8 et tu spécifies au navigateur que tu utilises cette table d'encodage avec la meta correspondante
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <meta http-equiv="Content-type" content="text/html; charset=UTF-8">


    A toi de choisir la solution qui te convient, en sachant que la dernière est la plus universelle!!!

    ++

  13. #13
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    D'accord... Quand tu édites un fichier texte ou autre sous Windows, il est généralement encodé au format ANSI.

    Pour utiliser l'UTF-8, nous sommes obligé d'enregistrer notre fichier dans un format utf-8. Chaque caractère sera alors enregistré dans un nombre de bit plus important, ce qui permet de gérer un plus grand nombre de caractère différent et donc de rendre l'UTF-8 plus universel.

    Malheureusement tous les logiciels ne sauvegarde pas leurs fichiers sous ce format. Notepad++ te le permet si tu veux tester.

    Voilà, j'espère que c'est plus clair pour toi?!

    ++

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    Merci de ton aide !!
    Mais j'ai encore quelques questions :
    Si je prend la première solution et que je supprime les deux balises META du fichier test2.php et test3.php et que je remplace les accents.

    test2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Document sans titre</title>
    </head>
     
    <body>
    <form name="form1" method="post" action="test3.php">
      <select name="test" size="1">
        <option value="f&eacute;vrier">f&eacute;vrier</option>
      </select>
      <input type="submit" name="Submit" value="Envoyer">
    </form>
    </body>
    </html>
    test3.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <html>
    <head>
    <title>Document sans titre</title>
    </head>
     
    <body>
    <?php
    $mois = $_POST['test'];
    if($mois == "février" ){
    echo $mois."ok";
    }
    elseif($mois == "f&eacute;vrier" ){
    echo $mois."ok1";
    }
    elseif($mois == "fevrier" ){
    echo $mois."ok2";
    }
    else{
    echo $mois;
    }
    ?>
     
    </body>
    </html>
    Il devrait entrer normalement dans la seconde boucle est m'afficher "févrierok2" ?
    Or il m'affiche uniquement "février".
    Est ce parceque sous linux on se trouve en UTF-8 ?

    Si l'on prend la seconde solution :
    Je laisse les accents et j'ajoute les meta

    test2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans titre</title>
    </head>
     
    <body>
    <form name="form1" method="post" action="test3.php">
      <select name="test" size="1">
        <option value="février">février</option>
      </select>
      <input type="submit" name="Submit" value="Envoyer">
    </form>
    </body>
    </html>
    test3.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans titre</title>
    </head>
    <body>
    <?php
    $mois = $_POST['test'];
     
    if($mois == "février" ){
    echo $mois."ok";
    }
    elseif($mois == "f&eacute;vrier" ){
    echo $mois."ok1";
    }
    elseif($mois == "fevrier" ){
    echo $mois."ok2";
    }
    else{
    echo $mois;
    }
    ?>
    </body>
    </html>
    Le résultat de celui ci est "f vrier" avec a la place de l'espace un losange.
    Il ne rentre toujours pas dans une boucle.

    Et pour terminer la dernière réponse :
    Je laisse les accents et j'ajoute les meta

    test2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans titre</title>
    </head>
     
    <body>
    <form name="form1" method="post" action="test3.php">
      <select name="test" size="1">
        <option value="février">février</option>
      </select>
      <input type="submit" name="Submit" value="Envoyer">
    </form>
    </body>
    </html>
    test3.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans titre</title>
    </head>
    <body>
    <?php
    $mois = $_POST['test'];
     
    if($mois == "février" ){
    echo $mois."ok";
    }
    elseif($mois == "f&eacute;vrier" ){
    echo $mois."ok1";
    }
    elseif($mois == "fevrier" ){
    echo $mois."ok2";
    }
    else{
    echo $mois;
    }
    ?>
    </body>
    </html>
    Le résultat est analogue au précédent.

    je dois donc mal m'y prendre...
    Je vous remercie de votre aide

  15. #15
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Si tu charges les fichiers sur ton serveur linux, il y a de grandes chances qu'ils ne soient pas en utf-8...
    Par contre, si tu les y éditent... peut-être.

    la différence entre windows et linux peut provenir d'un problème de parsing des pages...

    Essaie un peu le
    var_dump($_POST);

  16. #16
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Il te manque "la" bonne solution : laisser le meta
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
    ET encoder ton fichier en UTF-8.
    Le résultat sera peut-être bizarre sous Windows mais tournera sans problème sous Linux.

    Tu auras donc, test2.php (encodé en UTF-8) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
    <title>Document sans titre</title>
    </head>
     
    <body>
    <form name="form1" method="post" action="test3.php">
      <select name="test" size="1">
        <option value="f&eacute;vrier">f&eacute;vrier</option>
      </select>
      <input type="submit" name="Submit" value="Envoyer">
    </form>
    </body>
    </html>
    et test3.php (encodé en UTF-8) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <html>
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
    <title>Document sans titre</title>
    </head>
     
    <body>
    <?php
    $mois = $_POST['test'];
    if($mois == "février" ){
    echo $mois."ok";
    }
    elseif($mois == "f&eacute;vrier" ){
    echo $mois."ok1";
    }
    elseif($mois == "fevrier" ){
    echo $mois."ok2";
    }
    else{
    echo $mois;
    }
    ?>
     
    </body>
    </html>

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    Voici les résultats :

    array(2) { ["test"]=> string(8) "février" ["Submit"]=> string(7) "Envoyer" }

    Avec les deux fichiers suivants :

    test2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=iso-8859-1">
    <title>Document sans titre</title>
    </head>
     
    <body>
    <form name="form1" method="post" action="test3.php">
      <select name="test" size="1">
        <option value="f&eacute;vrier">f&eacute;vrier</option>
      </select>
      <input type="submit" name="Submit" value="Envoyer">
    </form>
    </body>
    </html>
    test3.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=iso-8859-1">
    <title>Document sans titre</title>
    </head>
    <body>
    <?php
    $mois = $_POST['test'];
    var_dump($_POST);
    if($mois == "février" ){
    echo $mois."ok";
    }
    elseif($mois == "f&eacute;vrier" ){
    echo $mois."ok1";
    }
    elseif($mois == "fevrier" ){
    echo $mois."ok2";
    }
    else{
    echo $mois;
    }
    ?>
    </body>
    </html>

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    Oh Alband85 tu as trouvé la bonne solution... Merciiii !!

    Cependant, il n'y a pas un moyen sans passer par le ré encodage UTF-8 et en utilisant le charset ISO 8...?

    Merci

  19. #19
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    MDR... ca fait 2 plombes que tu l'as la solution...

  20. #20
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Citation Envoyé par johnson95 Voir le message
    Oh Alband85 tu as trouvé la bonne solution... Merciiii !!
    Mmmh, de rien... même si c'est ce qu'on t'explique depuis la première page
    Au passage, n'oublie pas le

    Citation Envoyé par johnson95 Voir le message
    Cependant, il n'y a pas un moyen sans passer par le ré encodage UTF-8 et en utilisant le charset ISO 8...?
    Ben... mis à part abandonner Windows sur ta babasse pour passer à Linux, ou développer directement en UTF-8, non, je ne vois pas mieux comme solution...
    Parce que si le navigateur est capable de convertir tout ça à la volée grâce aux informations fournies par la balise meta, ton intérpréteur PHP n'utilise pas ces informations. Donc si la locale du serveur est UTF-8, il regardera les fichiers en supposant qu'ils sont en UTF-8.

    Après, il y a peut-être des fonctions PHP qui permettent la conversion ISO-8859-1 vers UTF-8... mais je n'en vois pas trop l'intérêt.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [SWT]Probleme lancement swt sous linux
    Par jujuz dans le forum SWT/JFace
    Réponses: 7
    Dernier message: 12/07/2007, 16h34
  2. Problème config phpmyadmin sous linux
    Par jejerome dans le forum Administration système
    Réponses: 2
    Dernier message: 28/10/2006, 18h39
  3. Probleme avec fopen sous linux
    Par rivieremathieu dans le forum C
    Réponses: 2
    Dernier message: 16/06/2006, 13h04
  4. Probleme demarrage MySQL sous Linux
    Par requiem29 dans le forum Administration
    Réponses: 4
    Dernier message: 19/05/2006, 17h56
  5. Problèmes pour php sous linux (permissions)
    Par popov2 dans le forum Administration système
    Réponses: 4
    Dernier message: 20/02/2006, 15h19

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