Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Installation
Installation Forum d'entraide sur les problèmes liés à l'installation de 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 22/05/2004, 16h12   #1
Invité de passage
 
Inscription : mai 2004
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 2
Points : 1
Points : 1
Par défaut Jeu de caractères

Bonjour,

J'ai un gros pb avec la gestion des tables de caractères sur une base MySQL 3.23.58

Je génère une table de test :
Code :
1
2
CREATE TABLE TEST 
(MOT VARCHAR(16))
J'y insère les mots suivants :
Code :
1
2
3
4
5
6
7
INSERT INTO TEST VALUES ('Électricité') ;
INSERT INTO TEST VALUES ('électricité') ;
INSERT INTO TEST VALUES ('ELECTRICITE') ;
INSERT INTO TEST VALUES ('electricite') ;
INSERT INTO TEST VALUES ('electron') ;
INSERT INTO TEST VALUES ('electeur') ;
INSERT INTO TEST VALUES ('électeur');
Je demande un seul mot :
Code :
1
2
3
SELECT MOT 
FROM   TEST 
WHERE  MOT = 'electricite'
J'obtiens :

Code :
1
2
3
4
Électricité
électricité
ELECTRICITE
electricite
Alors que je voulais avoir 'electricite' seulement (vous vous en doutiez).

HELP !

Par avance merci,

--
webshell
webshell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2004, 09h34   #2
Membre Expert
 
Avatar de Alexandre T
 
Inscription : mai 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 1 022
Points : 1 121
Points : 1 121
Pour éviter le problème des majuscules vous pouvez déclarer le champ varchar comme "BINARY" :

Code :
1
2
CREATE TABLE TEST 
(MOT VARCHAR(16) BINARY)
Citation:
Envoyé par Documentation MySQL
Les valeurs lues dans les colonnes de type CHAR(4) et VARCHAR(4) seront les mêmes dans tous les cas, car les espaces finaux sont retirés des valeurs issues de colonnes de type CHAR lors de la lecture.

Les valeurs dans les colonnes CHAR et VARCHAR sont classées et comparées sans tenir compte de la casse, à moins que l'attribut BINARY n'ai été spécifié lors de la création de la table. L'attribut BINARY signifie que les valeurs sont classées et triées en tenant compte de la casse, suivant l'ordre des caractères ASCII de la machine ou est installé le serveur MySQL. BINARY n'affecte pas les méthodes de lecture et de stockage des valeurs.

L'attribut BINARY se propage dans une expression : il suffit qu'une seule colonne, utilisée dans une expression, ait l'attribut BINARY pour que toute l'expression ne tienne plus compte de la casse.
Lien : http://www-fr.mysql.com/doc/fr/CHAR.html
__________________
Alexandre T.

PHP5/MySQL5 Codes prêts à l'emploi
30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc...

Mes articles
Alexandre T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2004, 09h38   #3
Invité de passage
 
Inscription : mai 2004
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 2
Points : 1
Points : 1
ok merci
webshell 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 23h36.


 
 
 
 
Partenaires

Hébergement Web