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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [DB2] recherche en ignorant les caractères spéciaux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[DB2] recherche en ignorant les caractères spéciaux

n°773741
Nestor
Posté le 23-06-2004 à 09:00:31  profilanswer
 

Salut,  
 
ma base de données est susceptible de contenir des caractères spéciaux (des accents par exemple).  
Si un champ contient "libertés", je voudrais qu'une recherche avec ("libertes" ) retourne l'enregistrement.
 
C'est en DB2 sous zOs.  
Il existe la fonction TRANSLATE qui permet de replacer des caractères par des autres sur un colonne.  
Ex SELECT TRANSLATE(monChamp,'aeeio',àéèîô').
Normalement le système devrait renvoyer : libertes mais on récupère libertas ou "liberte s" (avec un espace).  
 
Je pense que ça vient du fait que la base est en UTF-8 et que un caractère  "non spécial" prend moins de place qu'un caractère spécial.  
 
Note : j'ai trouvé cette fonction mais si vous avez une autre solution, je suis preneur.
Merci de votre aide.

mood
Publicité
Posté le 23-06-2004 à 09:00:31  profilanswer
 

n°775802
Nestor
Posté le 24-06-2004 à 14:15:37  profilanswer
 

un petit up, justin.

n°1017118
yellow_pan​ther
Posté le 18-03-2005 à 11:28:12  profilanswer
 

Nestor a écrit :

Salut,  
 
ma base de données est susceptible de contenir des caractères spéciaux (des accents par exemple).  
Si un champ contient "libertés", je voudrais qu'une recherche avec ("libertes" ) retourne l'enregistrement.
 
C'est en DB2 sous zOs.  
Il existe la fonction TRANSLATE qui permet de replacer des caractères par des autres sur un colonne.  
Ex SELECT TRANSLATE(monChamp,'aeeio',àéèîô').
Normalement le système devrait renvoyer : libertes mais on récupère libertas ou "liberte s" (avec un espace).  
 
Je pense que ça vient du fait que la base est en UTF-8 et que un caractère  "non spécial" prend moins de place qu'un caractère spécial.  
 
Note : j'ai trouvé cette fonction mais si vous avez une autre solution, je suis preneur.
Merci de votre aide.


 
Essaie ca :
TRANSLATE(var1 TO "0,F" FROM " .$" ) [' ' devient  0 ]
                                                    ['.' devient ',']
                                                    [ $  devient  F ]
Ca devrait marcher, mais j'ai pas encore testé...


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

  [DB2] recherche en ignorant les caractères spéciaux

 

Sujets relatifs
Remplacement de caractères dans une portion de chaine délimitéeRecherche site sympa pour s'inspirer du sytle !
c# - jeux de caractèresShell sh/tcsh : problèmes de caractères spéciaux
[Résolu][PostgreSQL 7.4.2] pb d'insertion de caractères accentuésdb2 xml
[J2ME] Caractères spéciaux et TextField.getString()Recherche de kits graphiques
Plus de sujets relatifs à : [DB2] recherche en ignorant les caractères spéciaux


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