par
Dexion » 14 mars 2007, 15:03
Bijour !
Alors voila, j'ai un petit soucis avec une fonction que j'ai trouver sur le forum :
function normalize_file_name($filename) {
$accentue = array('à','ç','é','è','ê','ë','ï','î','ö','ô','ù',
'À','â','Ç','É','È','Ê','Ë','Ï','Î','Ö','Ô','Ù');
$normal = array('a','c','e','e','e','e','i','i','o','o','u',
'A','a','C','E','E','E','E','I','I','O','O','U');
return str_replace ($accentue, $normal, $filename);
}
J'ai essayer de l'adapter à mon code comme ceci :
function normalize_file_name($filename) {
$accentue = array('à','ç','é','è','ê','ë','ï','î','ö','ô','ù',
'À','â','Ç','É','È','Ê','Ë','Ï','Î','Ö','Ô','Ù');
$normal = array('a','c','e','e','e','e','i','i','o','o','u',
'A','a','C','E','E','E','E','I','I','O','O','U');
return str_replace ($accentue, $normal, $filename);
}
$prenom = normalize_file_name($prenom);
$nom = normalize_file_name($nom);
$prenom = strtolower($prenom);
$nom = strtolower($nom);
//On concatène la première lettre du prénom et on ajoute le nom
{
$mail =$prenom{0}.".".$nom."@free.fr";
}
//Sinon les deux premières lettres
{
$mail2 = $prenom{0}.$prenom{1}.".".$nom."@free.fr";
}
Et le problème est que quand j'exécute mon code tous seul dans une page de test aucun soucis ( j'ai tester avec des echo sa m'affiche bien mon nom et prénom sans accent et en minusucle ) mais autrement la conversion ne se fais pas et j'obtiens des trucs de ce genre en base de donnée, par contre le strtolower fonctionne bien dans tous les cas !
Si quelqu'un aurais une idée ! merci d'avance !
Bijour !
Alors voila, j'ai un petit soucis avec une fonction que j'ai trouver sur le forum :
[php]function normalize_file_name($filename) {
$accentue = array('à','ç','é','è','ê','ë','ï','î','ö','ô','ù',
'À','â','Ç','É','È','Ê','Ë','Ï','Î','Ö','Ô','Ù');
$normal = array('a','c','e','e','e','e','i','i','o','o','u',
'A','a','C','E','E','E','E','I','I','O','O','U');
return str_replace ($accentue, $normal, $filename);
}[/php]
J'ai essayer de l'adapter à mon code comme ceci :
[php]function normalize_file_name($filename) {
$accentue = array('à','ç','é','è','ê','ë','ï','î','ö','ô','ù',
'À','â','Ç','É','È','Ê','Ë','Ï','Î','Ö','Ô','Ù');
$normal = array('a','c','e','e','e','e','i','i','o','o','u',
'A','a','C','E','E','E','E','I','I','O','O','U');
return str_replace ($accentue, $normal, $filename);
}
$prenom = normalize_file_name($prenom);
$nom = normalize_file_name($nom);
$prenom = strtolower($prenom);
$nom = strtolower($nom);
//On concatène la première lettre du prénom et on ajoute le nom
{
$mail =$prenom{0}.".".$nom."@free.fr";
}
//Sinon les deux premières lettres
{
$mail2 = $prenom{0}.$prenom{1}.".".$nom."@free.fr";
}[/php]
Et le problème est que quand j'exécute mon code tous seul dans une page de test aucun soucis ( j'ai tester avec des echo sa m'affiche bien mon nom et prénom sans accent et en minusucle ) mais autrement la conversion ne se fais pas et j'obtiens des trucs de ce genre en base de donnée, par contre le strtolower fonctionne bien dans tous les cas !
[code]éééééééééééà Ã[/code]
Si quelqu'un aurais une idée ! merci d'avance !