Problème avec les accents

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème avec les accents

par Dexion » 16 mars 2007, 12:29

Merci, c'étais bien ça :wink:

par Ryle » 14 mars 2007, 15:35

Tu as un problème de charset, c'est à dire un mélange entre des caractères ISO et UTF-8, ce qui fait que tes accents sont transformés en é.
Vérifies donc les charset que tu utilises pour envoyer et stocker tes données et regarde éventuellement du coté de la fonction utf8_decode() :)

Problème avec les accents

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 !

Code : Tout sélectionner

éééééééééééà Ã
Si quelqu'un aurais une idée ! merci d'avance !