Bei der Verarbeitung von mehrsprachigen Zeichenfolgen, insbesondere von Zeichenfolgen, die Multi-Byte-Zeichen wie Chinesen, Japanisch und Koreanisch enthalten, ist es besonders wichtig, die Codierung des Charakters korrekt zu identifizieren und zu verarbeiten. PHP bietet eine leistungsstarke Multibyte -String -Verarbeitungserweiterung ( MBString ), wobei mb_get_info eine sehr praktische Funktion ist, die uns helfen kann, die Konfigurationsinformationen des aktuellen MBString und wichtigen Parameter im Zusammenhang mit der Charaktercodierung anzusehen.
In diesem Artikel wird vorgestellt, wie Sie die Funktion MB_get_info verwenden, um Konfigurationsinformationen für String -Codierung zu erhalten und ein einfaches Beispiel zu geben, um Ihnen zu helfen, die tatsächliche Verwendung zu verstehen.
mb_get_info ist eine Funktion in der Php Mbstring -Erweiterung, die die internen Einstellungsinformationen der aktuellen Multibyte -String -Verarbeitung zurückgibt. Obwohl es Ihnen nicht direkt die tatsächliche Encodierung einer Zeichenfolge mitteilen kann (dies erfordert Funktionen wie MB_DETECT_ENCODING ), kann es zeigen, wie sich Mbstring in der aktuellen Umgebung verhält, einschließlich Standardcodierung, interner Codierung, HTTP -Eingabe und Ausgabe -Codierung und anderen Informationen.
mb_get_info(?string $type = null): array|string|false
$ type (optional): eine Zeichenfolge, die den Typ der Konfigurationsinformationen angibt, die Sie erhalten möchten. Die optionalen Werte gehören:
"All" : Alle Einstellungen zurückgeben (Standard)
'Internal_encoding' : Rückkehr zu internen Codierungseinstellungen
'http_input' : Gibt HTTP -Eingangscodierungseinstellungen zurück
'http_output' : Gibt HTTP -Ausgangscodierungseinstellungen zurück
'coding_translation' : Gibt zurück, ob die Codierungskonvertierung aktiviert ist
'Sprache' : Kehren Sie zu den aktuellen Spracheinstellungen zurück
'Detect_order' : Gibt die aktuelle Erkennungsreihenfolge zurück
Hier ist ein einfaches Beispiel für die Verwendung von mb_get_info zum Anzeigen von Codierungsinformationen:
<?php
// Setzen Sie die Standard -interne Codierung auf UTF-8
mb_internal_encoding("UTF-8");
// Holen Sie sich alles mbstring Konfigurationsinformationen
$info = mb_get_info();
echo "<pre>";
print_r($info);
echo "</pre>";
// Wenn Sie nur interne Codierungsinformationen erhalten möchten:
$encoding = mb_get_info("internal_encoding");
echo "Der aktuelle interne Code ist:$encoding";
?>
Nach der Ausführung des obigen Code können die folgenden Informationen ausgegeben werden (einige Felder werden angezeigt):
Array
(
[internal_encoding] => UTF-8
[http_input] => pass
[http_output] => pass
[encoding_translation] => Off
[language] => neutral
[detect_order] => Array
(
[0] => ASCII
[1] => UTF-8
)
)
Der aktuelle interne Code ist:UTF-8
Angenommen, Sie entwickeln ein mehrsprachiges Content -Management -System (CMS), und Benutzer können beim Senden von Inhalten unterschiedliche Codierungsformate verwenden. Sie können mb_get_info verwenden, um zu bestätigen, ob die aktuellen internen Codierungseinstellungen mit der Konfiguration Ihres Systems übereinstimmen, um eine abnormale Zeichenanzeige oder die Probleme mit verstümmelten Code zu vermeiden.
Zum Beispiel:
<?php
// Überprüfen Sie, ob der aktuelle interne Code ist UTF-8
if (mb_get_info("internal_encoding") !== "UTF-8") {
mb_internal_encoding("UTF-8");
}
?>
Diese Überprüfung kann in den Initialisierungscode des Projekts platziert werden, um sicherzustellen, dass die gesamte Anwendung immer in einer einheitlichen Codierungsumgebung ausgeführt wird.
Obwohl MB_get_info selbst keine String -Codierung erkennt, ist es immer noch ein wichtiges Instrument, um das Verhalten von Mbstring zu verstehen und zu beherrschen. Sie können die Einstellungen der PHP -Multibyte -String -Verarbeitung bestätigen und stellt sicher, dass die Zeichencodierung in Ihrer Anwendung korrekt verwendet wird.
Wenn Sie die tatsächliche Codierung einer Zeichenfolge weiter erfassen müssen, können Sie MB_DETECT_ENCODING verwenden und die Konfiguration von mb_get_info verwenden. Die Kombination der beiden funktioniert am besten.
Weitere Inhalte finden Sie unter:
https://gitbox.net/docs/php/mbstring (Beispiel -Link)