Probleme include et fonction strtr

dupuisj Messages postés 22 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 17 août 2009 - 17 août 2009 à 11:14
dupuisj Messages postés 22 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 17 août 2009 - 17 août 2009 à 14:43
Bonjour à tous,
J'ai un petit soucis sur lequel je m'arrache les cheveux.

Je souhaite créer une fonction qui m'enlève les accents d'une chaîne de caractère.

J'utilise cette fonction :
function enleve_accents($texte){
return strtr($texte,  "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ","aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
}

Mon soucis n'est pas dans la fonction mais plutôt dans sa localisation

Quand je mets la fonction dans la page qui appelle la fonction tout fonctionne, il renvoie bien la phrase sans accents (ex: école => ecole)

Par contre, quand je mets la fonction dans un include, la fonction est bien appelé, il passe dans la fonction, par contre, il retourne soit la chaîne avec les mêmes accents soit d'autres caractères bizarres.

Je ne comprends donc pas pourquoi lorsque je mets la fonction dans un include, elle ne fonctionne pas... Problème d'encodage, de passage de paramètre???

Merci d'avance pour votre aide

1 réponse

dupuisj Messages postés 22 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 17 août 2009
17 août 2009 à 14:43
Par miracle j'ai résolu mon problème en modifiant ma fonction avec l'aide de la page du manuel de strtr.
Si ça peut servir :
function enleve_accents($string){

$a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ
ßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ';
$b = 'aaaaaaaceeeeiiiidnoooooouuuuy
bsaaaaaaaceeeeiiiidnoooooouuuyybyRr';

$string = strtr($string, utf8_decode($a), $b);

return utf8_encode($string); 

}
0
Rejoignez-nous