SunshinePHP 2016


(PHP 4 >= 4.3.0, PHP 5)

mb_strtoupperMet tous les caractères en majuscules


string mb_strtoupper ( string $str [, string $encoding = mb_internal_encoding() ] )

Retourne la chaîne str après avoir converti tous les caractères alphabétiques en majuscules.

Liste de paramètres


La chaîne à mettre en majuscule.


Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

Retourne la chaîne str dont tous les caractères ont été mis en majuscule.


Pour plus d'informations sur les propriétés de l'Unicode, voyez »

Contrairement à strtoupper(), le concept de caractère 'alphabétique' est déterminé par les propriétés Unicode. De ce fait, le comportement de cette fonction n'est pas modifié par les configurations locales, et elle peut convertir tout les caractères qui sont considérés comme alphabétiques comme le c cédille (ç).


Exemple #1 Exemple avec mb_strtoupper()

"Marie A Un Petit Agneau Et Elle L'Aime BEAUCOUP.";
$str mb_strtoupper($str);

Exemple #2 Exemple avec mb_strtoupper() et du texte UTF-8 non latin

"Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str mb_strtoupper($str'UTF-8');

Voir aussi

add a note add a note

User Contributed Notes 3 notes

tomasz at trejderowski dot pl
4 years ago
Please note, that in many cases, forcing UTF-8 encoding with second parameter is necessary. PHP documentation states that if this parameter is omitted, the internal character encoding value will be used. But in my case it turned out to be not true. Even though I have all my pages encoded in UTF-8 and my DB connection set to force UTF-8 encoding, comparison of user-input and DB-retrieved data, which is using mb_strtoupper, did not work until I forced encoding.
Stefan W
2 years ago
mb_strtoupper() will not convert the German "ß" character into its (relatively new) uppercase form ("ẞ").
mb_strtolower() will, however, convert the uppercase form into a lowercase "ß". (tested with PHP 5.5.0)
"SS" is still the most common uppercase presentation of "ß". If you want this, you'll have to do it manually:

mb_strtoupper("Maß\n");  // "MAß"
echo mb_strtolower("MAẞ\n");  // "maß"
echo mb_strtoupper(str_replace("ß", "SS", "Maß\n"));  // "MASS"
rai at philscan dot com
6 years ago
for some reason, there are instances that special characters do show when you use this function, but when you revisit or refresh the page the special characters doesn't appear anymore, ie GRSARMERING is being displayed instead of GRÆSARMERING. You have to provide the second parameter which charset you are using to override the value. in my case it's iso-8859-1, so the function would now look like

mb_strtoupper($foo, 'iso-8859-1')
To Top