Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 03/01/2012, 09h43   #1
Membre actif
 
Homme
Inscription : avril 2011
Messages : 426
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 426
Points : 171
Points : 171
Par défaut Comparaison de mot clé avec accent

Bonjour,

Je suis confronté à un souci lorsque je requête une table en latin 1.

En effet, par exemple si je fais :

Code :
SELECT id_mot_cle FROM pevtt_mot_cle WHERE mot_cle_intitule='tete'
Je me retrouve avec un résultat non antendu, à savoir : tête.

J'ai donc essayé ceci :

Code :
1
2
3
SELECT mot_cle_intitule,id_mot_cle 
FROM pevtt_mot_cle 
WHERE mot_cle_intitule = CONVERT(_utf8 'tete' USING utf8) COLLATE utf8_general_ci
Et cela me retrouve quand même ce fameux "tête" alors que je ne souhaiterai dans ce cas précis aucun retour de la requête puisque le mot clé 'tete' n'existe pas..

Si vous avez une idée, je suis preneur.

Merci.
heretik25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 09h58   #2
Membre éclairé
 
Avatar de hariman
 
Homme Luc Hariman RANDRIANOMENJANAHARY
Développeur Java
Inscription : janvier 2008
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Luc Hariman RANDRIANOMENJANAHARY
Localisation : Ile Maurice

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2008
Messages : 175
Points : 349
Points : 349
Envoyer un message via MSN à hariman Envoyer un message via Skype™ à hariman
Bonjour,

Code sql :
SELECT id_mot_cle FROM pevtt_mot_cle WHERE mot_cle_intitule='tete' COLLATE utf8_bin;
__________________
Les boutons et adorent être cliqués, donc ne les oubliez pas
hariman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 10h04   #3
Membre actif
 
Homme
Inscription : avril 2011
Messages : 426
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 426
Points : 171
Points : 171
Bonjour,

Excellent, ça semble être ok !

Merci.

EDIT : Arf, en essayant via mon fichier php, je me retrouve avec une erreur :

Code :
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1253 COLLATION 'utf8_bin' is not valid for CHARACTER SET 'latin1'
heretik25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 13h20   #4
Membre actif
 
Homme
Inscription : avril 2011
Messages : 426
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 426
Points : 171
Points : 171
Après quelques recherches voici comment j'ai procédé

Code :
1
2
3
SELECT id_mot_cle' 
. ' FROM pevtt_mot_cle'
. ' WHERE mot_cle_intitule = CAST(_latin1 :t_name AS CHAR CHARACTER SET utf8) COLLATE utf8_bin
heretik25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h50.


 
 
 
 
Partenaires

Hébergement Web