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
Partager