Bonjour

J'ai un petit problème avec la fonction str_replace().
Mon but est de remplacer les caractères accentués de chaînes destinées à être enregistrées dans une base MySQL.

Voila ma fonction:
Cette version avec caractère NON accentué marche bien:

function strMod($var) {
echo $var = str_replace("A", "X", $var);
return $var;
}

ABC retourne XBC

mais celle-ci avec un caractère ACCENTUE marche pas:

function strMod($var) {
echo $var = str_replace("à", "X", $var);
return $var;
}

àBC retourne àBC

Je pensais que ça venait de l'encodage UTF-8 ou ISO-8859-1 ?
La chaîne de caractères $str provient d'un formulaire de saisie et est destinée à être enregistrée dans une table MySQL encodé en UTF-8.

Toutefois, si je cherche à savoir l'encodage de $str par la fonction
mb_detect_encoding($str , 'UTF-8, ISO-8859-1');
j'ai soit UTF-8 ou ISO-8859-1 de façon aléatoire .... c'est à rien y comprendre !!

Avez vous une idée?

Merci d'avance pour votre aide.
Doudy