Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
685 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  MySQL : comment identifier précisément les accents?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

MySQL : comment identifier précisément les accents?

n°1735263
ZeBix
edit > preview
Posté le 21-05-2008 à 15:23:07  profilanswer
 

Préambule : Je vois qu'il y a pas mal de messages sur MySQL et les accents sur le forum mais ici le problème est légèrement différent, je voudrais les identifier

 

J'ai un champ "mylabel" dans une table, qui contient des strings qui ont parfois des accents.

 

Je voudrais identifier précisément tous les rows qui ont, par exemple, un "é".

 

Avec :
Select * from mytable where mylabel like '%é%'

 

, je reçois tous les rows qui ont, dans leur label, au moins un "e", un "é", un "è" ou un "ê" (et, je suppose, un "ë" bien que je n'en aie pas dans ma table).

 

[:lolo_78] Comment puis-je identifier précisément un "é" ?

 

Notes :
- Le système est Apache2 sous Windows, avec MySQL 5.0.37.
- Ma 3 collations systèmes (_connection, _database et _server) sont "utf_general_ci"
- Tous mes charsets systèmes sont "utf8" (excepté le _filesystem qui est binary)
- Mais la collation de ma table ainsi que celle du champ "mylabel" sont "latin1_swedish_ci" (elles ont été importées de je ne sais où par je ne sais qui, qui n'a pas fait attention à ça ...   [:grisemine1] ) . Si c'est nécessaire je peux faire une conversion mais pour le moment toutes nos applications semblent bien fonctionner avec cette config étrange.

 



Message édité par ZeBix le 21-05-2008 à 15:24:22
mood
Publicité
Posté le 21-05-2008 à 15:23:07  profilanswer
 

n°1735276
ZeBix
edit > preview
Posté le 21-05-2008 à 15:35:01  profilanswer
 

J'oubliais : l'outil avec lequel je faisais mes commandes SQL est MySQL Browser 1.2.12

 

J'ai seulement eu maintenant l'idée d'ouvrir une invite de commandes directement sur le serveur et de tenter la même requête, et là la lumière fut :

 

Select * from matable where mylabel like '%e%'
[:lolo_78] Quasiment tous les fields retournés, pas d'errreur.

 

Select * from matable where mylabel like '%é%'
[:lolo_78] ERROR 1267 (HY000): Illegal mix of collations (latin_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'.

 

On dirait que la conversion va être obligatoire, et meeeeeeeeer....  :cry:


Message édité par ZeBix le 21-05-2008 à 15:39:39

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  MySQL : comment identifier précisément les accents?

 

Sujets relatifs
mysql command line client -- probleme d'accentPB de librairie mysql sous linux
MySQL : Problème de date[C] probleme avec librairie mysql.h [résolu]
[MySQL] Ajouter des col. à un résultat si une condition est satisfaiteMySQL / PostgreSQL
[Mysql] Outils d'edition de schémas[PHP-Mysql]Formulaire Login + bdd sous mysql
[MySQL] Dupliquer une colonne[MySQL] condition sur un alias
Plus de sujets relatifs à : MySQL : comment identifier précisément les accents?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR