Fonction sur les caractères accentués


Il arrive bien souvent que des problèmes d'encodage de caractères arrive et on ne sait pas toujours pourquoi ni comment y remédier.
Il sagit bien souvent d'un problème de DOCTYPE que vous utilisez. Vérifiez alors si votre soucis peut être résolut en changeant tout simplement ce DOCTYPE !

Sinon, voici une petite fonction qui peut vous être utile et qui permet de remplacer certains caractère bizarre par leur équivalent:

<?php
function jevireaccents($machaine)
{    
 
    $machaine=($machaine);
 
    $carracterasoucis = Array("/ç/","/ä§/","/é/","/ä©/","/è/","/ä¨/","/ê/",
"/äª/","/ë/","/ä«/","/Ê/","/äŠ/","/Ë/","/ä‹/","/î/","/ä®/","/ï/","/ä¯/","/ì/"
,"/Ã?/","/ä?/","/ò/","/ä²/","/ô/","/ä´/","/ö/","/ä¶/","/õ/","/ó/","/ø/",
"/äµ/","/ä³/","/ä¸/","/Ô/","/ä”/","/Ö/","/ä–/","/Ã/","/ä/","/â/","/ä¢/","/ä/",
"/ä¤/","/Ã¥/","/ä¥/","/Â/","/ä‚/","/Ä/","/ä„/","/ù/","/û/","/ü/","/ä¼/","/Û/"
,"/Ü/","/ä¹/","/ä»/","/ä¼/","/ä¼/","/ä›/","/äœ/","/ò/","/ñ/","/’/");
 
    $topcool = Array("ç", "ç", "é", "é", "è", "è", "ê", "ê", "ë", "ë", "Ê", "Ê",
"Ë", "Ë", "î", "î", "ï", "ï", "ì", "Î", "Î", "ò", "ò", "ô", "ô", "ö", "ö", "õ",
"ó", "ø", "õ", "ó", "ø", "Ô", "Ô", "Ö", "Ö", "à", "à", "â", "â", "ä", "ä", "å",
"å", "Â", "Â", "Ä", "Ä", "u", "û", "ü", "ü", "Û", "Ü", "u", "û", "ü", "ü", "Û", 
"Ü", "ñ", "ñ", "'");
 
    $machaine = preg_replace($carractereasoucis, $topcool, $machaine);  
 
    return $machaine; 
}
?>

Pour utiliser cette fonction, il suffit simplement de faire comme ci-dessous:

<?php echo jevireaccents($la_variable_a_soucis);?>
ou directement dans un echo :
echo ''.jevireaccents($la_variable_a_soucis).'';
Commentaire sur : Fonction sur les caractères accentués