Page 1 sur 1

encodage et requete sql

Posté : 11 avr. 2012, 23:57
par oceane751
Bonjour,

J'ai un problème d'encodage avec mon php/mysql

voici mon code php
include("connect.php");
$pseudo = $_POST['pseudo'];
$requete = "SELECT * FROM personne WHERE pseudo='".$pseudo."'"; 
$quer = mysql_query($requete); 
 $row = mysql_fetch_array($quer);
if($row) {
	echo "pseudo déjà utilisé";
}
else {
	echo "OK";	
}
dans mon fichier html j'ai bien :
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
ma bdd mysql est bien en utf-8
quand je fais un echo de la requete j'ai ça : SELECT * FROM personne WHERE pseudo='noémie'

bref, je tourne en rond depuis un bout de temps déjà ... :?

quelqu'un pourrait m'aider?
merci beaucoup

Re: encodage et requete sql

Posté : 12 avr. 2012, 00:16
par AB
Il faut suivre toutes les étapes de ce tuto

Et donc en plus de ce que tu as fais il faut mettre cette ligne en haut de ton code php :
header('Content-Type: text/html; charset=UTF-8');
et celle-ci après ta connexion à la base et AVANT ta première requête
mysql_set_charset ("utf8");
pour plus de détails regardes le tuto

Re: encodage et requete sql

Posté : 12 avr. 2012, 00:51
par oceane751
merci pour ta réponse
mais quand je mets ça
header('Content-Type: text/html; charset=UTF-8');
ça fonctionne !

le hic est que si je rentre "noémie", ça me dit que je peux prendre ce pseudo alors qu'il existe déjà
si je rentre : "noemie", il me dit que le pseudo est déjà pris!
alors que dans la BDD c'est "noémie" et non "noemie"

Donc je tourne en rond, j'ai plus de cheveux, je ne sais plus quoi faire ...

Re: encodage et requete sql

Posté : 12 avr. 2012, 00:57
par AB
Cela n'a rien à voir avec l'encodage. C'est dû au fait que le champ de ta bdd a l'interclassement "utf-8 general_ci" qui est à la fois casse insensitive et insensible aux accents. Si tu veux faire une différence utilise l'interclassement utf8_bin :wink: