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

PHP & Base de données Discussion :

[SQL] $_POST et caractères accentués


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 124
    Par défaut [SQL] $_POST et caractères accentués
    Bonjour,

    Je passe par la méthode POST une chaine de caractères que je récupère pour faire une requête sql. Malheureusement, lorsqu'il y a un accent (j'ai un cas avec un "à") ça ne marche pas. J'ai essayé de le remplacer avec ereg_replace mais ça ne marche pas. J'ai même essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    		if ($_POST["idMarque"] == "... à ...")
    			print ("... a ...");
    		else
    			print ($_POST["idMarque"]);
    Et cela m'affiche : ... à ...
    J'ai l'impression que le "à" n'est pas reconnu comme un "à". Mais comment il est considéré, et bien c'est la question que je vous pose. Moi, je sèche.

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    C'est parce que ton fichier PHP n'est pas écrit dans le même jeu de caractère que ce que t'envoie le navigateur. Lorsqu'un navigateur poste des informations sur un serveur Web, il est censé utiliser le même jeu de caractères que celui utilisé pour afficher la page affichant le formulaire. Pour savoir quel jeu de caractères est utilisé pour afficher le formulaire, le navigateur regarde la valeur de la balise <meta http-equiv="Content-Type"> si elle est présente dans la page, sinon la valeur de l'entête HTTP Content-Type. Ca donne l'encodage de la page. Pour toi, utilisateur, savoir lequel c'est, clic droit sur la page > Encodage ou menu Affichage > Encodage. Prends cette valeur et compare la avec l'encodage utilisé par ton éditeur PHP : si c'est la même, c'est vraiment un bug ; si c'est pas la même, y a toutes les chances que le pb vienne de là. Dans ce cas, enregistre ton script PHP avec l'encodage de la page et réessaie.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 124
    Par défaut
    Merci pour ta réponse rapide, mais ça ne fait rien.
    J'ai ajouté une balise méta en début de page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    Ce qui correspond à l'encodage affiché par mon navigateur.

    Je n'ai pas dit une donnée qui est peut être importante. La chaîne qui comporte ce fameux "à" vient d'une base de données. Je ne sais pas si ça influe ...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Par défaut
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($_POST["idMarque"] == "... &agrave; ...")

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 124
    Par défaut
    Ca ne marche pas. C'était pourtant une idée.
    Je crois que je vais tout simplement enlever l'accent grave si je trouve pas ce matin. C'est pas terrible comme solution mais bon ...
    Dans tous les cas, merci de l'aide.

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    T'as bien vérifié l'encodage de ton fichier PHP ? C'est bien ISO-8859-1 aussi ?

  7. #7
    Membre averti
    Profil pro
    Webmaster
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Par défaut
    Dans ta page, à tu spécifier l'encodage? UTF-8 par exemple?

Discussions similaires

  1. [SQL] caractère accentués transformés en é
    Par guian dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 20/08/2008, 11h54
  2. [SQL] Requête SQL et présence de caractères accentués
    Par Silvia12 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/09/2007, 10h51
  3. [SQL] Comment afficher correctement les caractères accentués ?
    Par innova dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/01/2007, 10h35
  4. requête sql : caractères accentués et résultat nul
    Par mappy dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 28/08/2006, 12h27
  5. [SQL-Server] ms sql server et php : problème avec les caractères accentués
    Par stephane9422 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/12/2005, 17h45

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