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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [postgreSQL] Recherche sans casse

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[postgreSQL] Recherche sans casse

n°302489
Predicator
Posté le 05-02-2003 à 17:19:46  profilanswer
 

salut !
 
je voudrais savoir s'il est possible de faire une requete sur des valeurs, sans tenir compte de la casse, i.e. sans accent et sans majuscule...
 
par exemple Aré = are rend vrai
 
J'ai cherché mais je n'ai rien trouvé pour l'instant.
 
merci

mood
Publicité
Posté le 05-02-2003 à 17:19:46  profilanswer
 

n°302914
kuroineko
je mamgerais bien un truc la..
Posté le 06-02-2003 à 09:43:05  profilanswer
 

Predicator a écrit :

salut !
 
je voudrais savoir s'il est possible de faire une requete sur des valeurs, sans tenir compte de la casse, i.e. sans accent et sans majuscule...
 
par exemple Aré = are rend vrai
 
J'ai cherché mais je n'ai rien trouvé pour l'instant.
 
merci


 
la reponse est oui en  

  • mettant un caractere generique pour les accentués
  • pour ignorer le majuscule/minuscule il y a un truc a faire  

sur la syntaxe de recherche...
 
là je suis au boulot et j'ai pas mon bouquin sous la main, mais si j'y penses je t'enverrai un mail avec la syntaxe.


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
n°302933
Predicator
Posté le 06-02-2003 à 10:12:04  profilanswer
 

merci, j'ai trouvé pour les majuscules, mais le coup des caractères générique, c'est pas forcément idéal, car on peut se retrouver avec des résultats non cohérents...
 
par exemple :
 
aré = ark
 
en mettant un caractère générique pour le 'é'
 
par contre, j'ai pensé à une solution, mais ne connaissant pas pgSQL, je ne sais pas si c'est valable...
 
SELECT *
WHERE utf-8_to_ascii(lower(valeur)) = utf-8_to_ascii(lower('ma chaine';))
 
cette méthode me fait me poser plusieurs questions
 
utf-8_to_ascii(lower(valeur))
 
valeur est le nom de la colonne... peut on accéder à la valeur de la colonne comme ça ? est-ce valide ?
peut-on modifier (utf8-_to_ascii) sans modifier la valeur inscrite dans la BDD ?
 
je me rends compte ensuite que passer 'é' en ascii retourne un '?' et non un 'e'...
ma méthode marche pas :cry:  

n°303008
arghbis
salops de dauphins
Posté le 06-02-2003 à 10:51:57  profilanswer
 

ben déjà tu peux utiliser ilike, pour une recherche par regexp sans tenir compte de la casse. Par contre, je ne sais pas pour les accents, regarde la doc de ilike.

n°307953
mat35
On m'appelle Bugman
Posté le 12-02-2003 à 22:26:39  profilanswer
 

UTF 8, c'est pas la norme anglaise? Et si tu essayais avec la française? Il apprécierait peut etre plus les accents.


---------------
Mise à jour du palmarès des crash : 1 lecteur CD, 1 lecteur disquette, 1 graveur, 1 CM, 3 DD IBM40Go, 1 DDR256MoPC2100 et une alim Fortron... à qui le tour? :)
n°308159
Predicator
Posté le 13-02-2003 à 10:21:56  profilanswer
 

mat35 a écrit :

UTF 8, c'est pas la norme anglaise? Et si tu essayais avec la française? Il apprécierait peut etre plus les accents.


 
le problème n'est pas qu'il accepte ou pas les accents
UTF-8 est un codage d'UNICODE, comme il en existe d'autres, à partir de là, tu peux mettre des accents n'importe où... mon problème est de pouvoir faire une recherche sans accent...
 
par exemple, si un utilisateur fait une recherche sur "aue", il doit pouvoir avoir "äùé" dans son résultat (si c'est dans la base bien sûr). seulement voilà, il n'y a aucun lien entre un caractère (e) et ses version accentuées (é,è,ë,...)
 
je travaille avec quelqu'un qui s'y connait pas mal, il m'a expliqué que UTF-8 n'est pas le meilleur codage d'UNICODE (mais le seul existant dans PostgreSQL, malheureusement). Il existe une version d'encodage d'UNICODE ou les caractère et les lettre sont séparés, bien que ce soit transparent à l'utilisation...
 
par exemple "äùé" devient dans ce codage "a¨u`e'"
c'est une piste à fouiller, je vous tiendrai au courant...


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

  [postgreSQL] Recherche sans casse

 

Sujets relatifs
[Recherche] compilateur....[Perl] Comment ignorer la casse dans une comparaison ?
[recherche] rippeur audio en langage shell !!!![JAVA] programmation d'un bot de moteur de recherche
je recherche un ide a telecharger pour javarecherche petits dessins de pc et de bd
Recherche présence d'une variablerecherche programmeur
(VBA) Formulaire travaillant avec une table et recherche[Oracle] Recherche nom de colonne
Plus de sujets relatifs à : [postgreSQL] Recherche sans casse


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