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

Résolu
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

  • Votes
  • Date
  • Date décroissante
  1. Merci beaucoup au final il faillait utilisé ut8_encode , j'ai pas compris pourquoi mais sa marche nickel !
    1. De rien content d'avoir aidé