mb_internal_encoding
funkcja
Pobiera lub ustawia domyślne kodowanie wewnętrzne używane przez funkcje mbstring, gdy nie podano jawnego $encoding.
mb_internal_encoding(?string $encoding = null): string|bool
mb_internal_encoding pozwala sprawdzić lub zmienić domyślne kodowanie używane przez wszystkie funkcje mb_*, gdy nie podają one jawnie parametru $encoding. Wywołana bez argumentu zwraca bieżące ustawienie (w nowych instalacjach PHP zwykle UTF-8). Z argumentem ustawia nowe kodowanie i zwraca true (lub false przy błędzie).
<?php
declare(strict_types=1);
// Odczyt bieżącego kodowania:
echo mb_internal_encoding(); // wynik: UTF-8
// Ustawienie kodowania:
mb_internal_encoding('UTF-8');
// Po ustawieniu nie trzeba podawać $encoding w każdej funkcji mb_*:
$s = 'Łódź';
echo mb_strlen($s); // wynik: 4 (używa UTF-8 z ustawień globalnych)
echo mb_strtoupper($s); // wynik: ŁÓDŹ
W praktyce PHP 8 domyślnie ustawia UTF-8, więc rzadko trzeba wywoływać tę funkcję. Warto jej użyć w starych projektach migrowanych z ISO-8859-2 lub gdy obsługujesz pliki w różnych kodowaniach i chcesz zmienić kontekst globalny dla bloku kodu.