Problème avec la fonction php strstr et l'utf-8

Nouveau WRInaute
Bonjour,

j'utilise la ligne ci-dessous pour "nettoyer" des chaînes de caractères :

Code:
$chaine = strtr($chaine,	                   "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ%$§!?/;:°)@]^~#{[('|`\^}]& ,.",	                     "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn                             ");

Hors, en UTF-8, cela me "nettoie" très mal ma chaîne, comme par exemple:

Code:
$chaine = 'Vallée-du-Rhône';
$chaine = strtr($chaine,                     "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ%$§!?/;:°)@]^~#{[('|`\^}]& ,.",                     "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn                             ");
echo $chaine;
cela me renvoie sur le navigateur : 'Vall__e-du-Rh_ine'

Auriez-vous une idée?

Merci à tous
 
Nouveau WRInaute
essaie peut-être de convertir d'abord ta chaîne utf-8 en iso-8859-1, la nettoyer, puis la reconvertir.
Quelquechose comme :
Code:
$chaine=iconv("UTF-8","ISO-8859-1",$chaine);
// ton traitement
$chaine=iconv("ISO-8859-1","UTF-8",$chaine);
 
WRInaute impliqué
pourquoi pas essayer :
Code:
$chaine = 'Vallée-du-Rhône';
$chaine = strtr($chaine, utf8_encode(                    "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ%$§!?/;:°)@]^~#{[('|`\^}]& ,."),                     utf8_encode("AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn                             "));
echo $chaine;

ensuite peut être que str_replace n'a pas ce problème ?
 
Discussions similaires
Haut