Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/05/2007, 16h59   #1
Nouveau Membre du Club
 
Inscription : mars 2006
Messages : 124
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 124
Points : 39
Points : 39
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 :
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.
bressan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2007, 17h10   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 306
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 306
Points : 8 590
Points : 8 590
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.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2007, 17h12   #3
Candidat au titre de Membre du Club
 
Webmaster
Inscription : mars 2007
Messages : 34
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : mars 2007
Messages : 34
Points : 11
Points : 11
Envoyer un message via MSN à Zadoner
Dans ta page, à tu spécifier l'encodage? UTF-8 par exemple?
Zadoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2007, 17h29   #4
Nouveau Membre du Club
 
Inscription : mars 2006
Messages : 124
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 124
Points : 39
Points : 39
Merci pour ta réponse rapide, mais ça ne fait rien.
J'ai ajouté une balise méta en début de page :
Code :
<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 ...
bressan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2007, 17h58   #5
Membre du Club
 
Inscription : mars 2007
Messages : 79
Détails du profil
Informations personnelles :
Âge : 18
Localisation : France

Informations forums :
Inscription : mars 2007
Messages : 79
Points : 41
Points : 41
Essaye :
Code :
if ($_POST["idMarque"] == "... &agrave; ...")
theo7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2007, 09h00   #6
Nouveau Membre du Club
 
Inscription : mars 2006
Messages : 124
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 124
Points : 39
Points : 39
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.
bressan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2007, 16h26   #7
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 306
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 306
Points : 8 590
Points : 8 590
T'as bien vérifié l'encodage de ton fichier PHP ? C'est bien ISO-8859-1 aussi ?
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h33.


 
 
 
 
Partenaires

Hébergement Web