Signatur
Beschreibung
mb_get_info() gibt aktuelle Konfigurationswerte der PHP-Multibyte-String-Erweiterung (mbstring) zurück. Damit lässt sich zur Laufzeit prüfen, welche Einstellungen für die Multibyte-Verarbeitung aktiv sind – etwa die interne Kodierung, die HTTP-Eingabe-/Ausgabe-Kodierung oder die aktuell eingestellte Sprache.
Wird 'all' (oder kein Argument) übergeben, liefert die Funktion ein assoziatives Array mit allen verfügbaren Einstellungen. Über den $type-Parameter lässt sich gezielt ein einzelner Wert abfragen, z. B. 'internal_encoding', 'http_input', 'http_output', 'language', 'mail_charset' oder 'func_overload'.
Diese Funktion ist besonders nützlich beim Debugging von Zeichenkodierungsproblemen, beim Überprüfen der Laufzeitkonfiguration in Deployment-Skripten oder beim Testen, ob mb_internal_encoding() die gewünschte Kodierung korrekt gesetzt hat.
Beachte, dass func_overload seit PHP 7.2 als deprecated gilt und die entsprechende mbstring-Option in modernen Versionen nicht mehr unterstützt wird.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $type | string | all | Gibt an, welche Einstellung abgefragt werden soll. Mögliche Werte sind z. B. 'all', 'internal_encoding', 'http_input', 'http_output', 'http_output_conv_mimetypes', 'mail_charset', 'mail_header_encoding', 'mail_body_encoding', 'illegal_chars', 'encoding_translation', 'language', 'detect_order', 'substitute_character', 'strict_detection'. Mit 'all' werden alle Werte als Array zurückgegeben. |
Rückgabewert
$type = 'all' ein assoziatives Array mit allen mbstring-Konfigurationswerten. Bei einem spezifischen $type den entsprechenden Wert als string oder int. Gibt false zurück, wenn ein unbekannter $type angegeben wurde.Beispiele
Alle mbstring-Einstellungen abfragen
<?php
$info = mb_get_info();
foreach ($info as $key => $value) {
echo $key . ': ' . (is_array($value) ? implode(', ', $value) : $value) . PHP_EOL;
}
Einzelne Einstellung abfragen und prüfen
<?php
// Sicherstellen, dass die interne Kodierung UTF-8 ist
$encoding = mb_get_info('internal_encoding');
if ($encoding !== 'UTF-8') {
mb_internal_encoding('UTF-8');
echo 'Interne Kodierung wurde auf UTF-8 gesetzt.' . PHP_EOL;
} else {
echo 'Interne Kodierung ist bereits UTF-8.' . PHP_EOL;
}
// Aktuelle Sprache abfragen
$language = mb_get_info('language');
echo 'Aktuelle mbstring-Sprache: ' . $language . PHP_EOL;
// Wichtig · Fallstricke
Deprecation-Hinweis: Die Option func_overload ist seit PHP 7.2.0 als veraltet markiert und wurde in PHP 8.0 vollständig entfernt. In älteren Installationen konnte mb_get_info('func_overload') genutzt werden, um zu prüfen, ob Standard-String-Funktionen durch Multibyte-Varianten überschrieben wurden – dieses Verhalten sollte in neuem Code nicht mehr verwendet werden.
Die verfügbaren Schlüssel im zurückgegebenen Array können je nach PHP-Version variieren. Unbekannte $type-Werte führen zu einem Rückgabewert von false – daher sollte der Rückgabewert stets mit === false geprüft werden, wenn die Existenz eines Wertes unsicher ist.