mb_ucfirst

funkcja

Zamienia pierwszy znak ciągu na wielką literę, obsługując pełen zakres Unicode. Dostępna od PHP 8.4.

mb_ucfirst(string $string, ?string $encoding = null): string

mb_ucfirst zamienia pierwszy znak ciągu na jego wielką literę zgodnie z regułami Unicode. Jest wielobajtowym odpowiednikiem ucfirst(). Problem z ucfirst() polega na tym, że widzi tylko pierwszy bajt — dla polskich liter wielobajtowych (np. ą, ę, ó) zwróci po prostu niezmieniony ciąg lub uszkodzoną literę. mb_ucfirst działa poprawnie. Dostępna od PHP 8.4.

<?php
declare(strict_types=1);

echo mb_ucfirst('ążur', 'UTF-8');   // wynik: Ążur
echo mb_ucfirst('łódź', 'UTF-8');   // wynik: Łódź
echo mb_ucfirst('świat', 'UTF-8');  // wynik: Świat

// ucfirst() nie radzi sobie z polskimi literami:
echo ucfirst('ążur');  // wynik: ążur  (pierwsza litera bez zmian!)
echo ucfirst('świat'); // wynik: świat (bez zmian — ś to 2 bajty)

Reszta ciągu pozostaje niezmieniona — mb_ucfirst modyfikuje wyłącznie pierwszy znak. Jeśli chcesz zamienić wszystkie litery na wielkie, użyj mb_strtoupper().

📘 Naucz się w lekcji →