Web Development Knowledge Base
| |
Sections :
Vous aussi, aidez les autres développeurs, publiez vos bouts de codes utiles et vos liens préférés ... Publiez un article ! Plateforme d'envoi de gros fichiers en ligne Script PHP de boutique en ligne Mondes virtuels gratuits en 3D |
Aurélie Dufour - - 25/05/2009 - vue 279 fois
Passer une chaîne de caractères en majuscules, y compris les caractères accentuésEn PHP, on a l'habitude d'utiliser la fonction strtoupper (string to upper case), pour passer une chaîne de caractères en majuscules. Sous un environnment de développement Windows, elle ne pose pas de problèmes pour passer en majuscules les caractères accentués ("à","é","ï","ô",ù"...). En revanche, sous Linux, ça ne passe pas : cet OS est sensible à la casse... Il est donc préférable d'avoir recours à la fonction mb_strtoupper, qui elle convertira tous les caractères accentués. Petit exemple ci-dessous, avec ce script PHP : <?php $ch = "Ma boîte de réception est saturée : ça ira mieux si j'élimine les messages indésirables."; echo "Avec strtoupper, ça donne : <br />"; echo strtoupper($ch); echo "<br /><br />"; echo "Avec mb_strtoupper, en revanche, cela donne : <br />"; echo mb_strtoupper($ch); ?> Sous Windows, aucun souci, vous aurez à chaque fois une belle phrase, bien accentuée et bien passée en majuscules : Avec strtoupper, ça donne : MA BOÎTE DE RÉCEPTION EST SATURÉE : ÇA IRA MIEUX SI J'ÉLIMINE LES MESSAGES INDÉSIRABLES. Avec mb_strtoupper, en revanche, cela donne : MA BOÎTE DE RÉCEPTION EST SATURÉE : ÇA IRA MIEUX SI J'ÉLIMINE LES MESSAGES INDÉSIRABLES. Mais sous un environnement Linux, sensible à la casse, ça ne donnera pas la même chose : Avec strtoupper, ça donne : MA BOîTE DE RéCEPTION EST SATURéE : çA IRA MIEUX SI J'éLIMINE LES MESSAGES INDéSIRABLES. Avec mb_strtoupper, en revanche, cela donne : MA BOÎTE DE RÉCEPTION EST SATURÉE : ÇA IRA MIEUX SI J'ÉLIMINE LES MESSAGES INDÉSIRABLES. Voilà, ayez maintenant le réflexe mb_strtoupper pour éviter de perdre du temps sur de l'encodage... Plus d'informations avec la doc officielle de PHP : fr.php.net/manual/fr/function.mb-strtoupper.php |