Problème avec accents dans moteur de recherche perso

Nouveau WRInaute
Bonjour à tous.

J'utilise MySql et Php.

J'ai un site web et j'ai créé un moteur de recherche très basic. En fait ca retourne un nom de ville.

table SQL :
city
cityName

Dans ma table city j'ai un record "Montréal"
J'ai un "textfield" qui est le input de l'utilisateur.

Si je fais un query dans SQL directement :
SELECT * FROM city WHERE cityName LIKE '%Montréal%'
OU
SELECT * FROM city WHERE cityName LIKE '%Montreal%'
dans les 2 cas ca retourne Montréal

Par contre si je fais

$filter = $_POST['textfield'];
SELECT * FROM city WHERE cityName LIKE '%$textfield%'
dans le cas que le user tappe Montréal ca retourne Montréal, par contre si je tappe Montreal ca me retourne 0 result.

J'ai vu un post sur ce forum qui semblait être exactement le même problème, par contre il n'y avait de solution qui fonctionnait pour moi.

Avez-vous une idée quelqu'un,
Merci pour votre temps.
 
WRInaute passionné
Bonsoir,

Dans ta table, quel est l'interclassement du champs cityName ?

Edit : Bienvenue sur wRi
 
Nouveau WRInaute
Voici, je crois que tu parlais de collation en anglais (utf8_general_ci)

Field Type Collation Attributes Null Default Extra Action
nomVille varchar(25) utf8_general_ci No None
 
WRInaute passionné
alors là, vraiment au pif

Code:
SELECT * FROM city WHERE cityName LIKE CONVERT(_utf8 '%$textfield%' USING utf8) COLLATE utf8_general_ci '

et pas taper si ça marche pas :)
 
WRInaute accro
A mon sens c'est effectivement un problème de décalage d'encodage entre la base mysql certainement en UTF-8 et ton formulaire en ISO, tu devrais essayer de convertir le contenu de ta base (ou plutôt de tester si en spécifiant une nouvelle table en iso puis en y insérant tes données en la passant à la moulinette du UTF8-Decode, ou sans le faire dans un premier temps, tu as ce même problème d'accents).
@+
 
Discussions similaires
Haut