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.

📘 Naucz się w lekcji →