Caratères accentués provenant d'une base SQL

Résolu
Pommesky -  
Wulfrik Messages postés 105 Statut Membre -
Bonjour,
J'utilise la fonction suivante pour savoir si une valeur saisit par l'utilisateur contient uniquement les caractères autorisés :
(preg_match("/[^".$caracteres."]/", $valeur))


la variable $caracteres est en fait une case d'une table sql qui contient "a-z,A-Z,0-9,é,è" j'ai raccourcis la liste des accents pour l'exemple.
Ma table est encodé en utf8.
Mais lorsque j'utilise cette fonction dès qu'un "é" ou un "è" est présent dans la valeur, le preg_match ne le considère pas comme autorisé.
Je pense que cela est dut au fait que les caractères accentué provenant de ma base ne sont pas vu réellement comme tel mais comme des &e acute ou je ne sait quoi.
Quand j'attribut directement sa valeur a $caracteres dans mon programme comme ceci, tout marche comme il faut :
$caracteres= "a-z,A-Z,0-9,é,è"

Comment dois-je faire pour que les caractères provenant de ma base soit réellement vu comme tel.

2 réponses

  1. Pommesky
     
    Merci beaucoup au final il faillait utilisé ut8_encode , j'ai pas compris pourquoi mais sa marche nickel !
    0
    1. Wulfrik Messages postés 105 Statut Membre 10
       
      De rien content d'avoir aidé
      0