DevKB
Web Development Knowledge Base
HOME | TOP 20 | WRITE AN ARTICLE |
Sections :



RSS RSS Feed

You too, please publish your useful code snippets in any programming language :
write an article !


Valid HTML 4.0 Transitional

Plateforme d'envoi de gros fichiers en ligne
Dépannage site web
Blog infogérance
Hébergement e-mail

Aurélie Dufour - - 25/05/2009 - vue 25033 fois

Passer une chaîne de caractères en majuscules, y compris les caractères accentués

En 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




Write a comment :
Your name :     E-mail (optional) :

AntiSpam : what animal is visible on this picture ? :

Nos partenaires : iPhone 8 Cases & Protection