Im Umgang mit mehrsprachigen Text müssen PHP -Programmierer häufig auf Probleme mit Charaktercodierung achten. Besonders beim Umgang mit Multi-Byte-Charakteren wie Japanisch und Chinesen wird es besonders wichtig. Glücklicherweise bietet uns die Mbstring -Erweiterung von PHP eine starke Unterstützung, und die Funktion mb_get_info () ist ein leistungsstarkes Werkzeug.
Dieser Artikel führt Sie dazu, die Verwendung von mb_get_info () elegant zu beherrschen und Ihnen dabei zu helfen, die Standardeinstellungen für Multibyte -Codierungseinstellungen in PHP besser zu verstehen.
mb_get_info () ist eine Funktion, die durch die Mbstring -Erweiterung bereitgestellt wird, um die Einstellungsinformationen des aktuellen Multibyte -String -Moduls zu erhalten. Dadurch können Sie schnell lernen:
Aktuelle interne Codierung (interne Codierung)
HTTP -Eingangs- und Ausgangskodierung
Spracheinstellungen
Bestellung erkennen
Andere verwandte Konfigurationen
array mb_get_info ( [ string $type = "all" ] )
Der Parameter von $ type ist optional und gibt die von Ihnen erhaltene Informationskategorie an, z. B. Internal_encoding , http_output , http_input usw.
Wenn $ type nicht angegeben ist, werden alle Konfigurationsinformationen standardmäßig zurückgegeben.
<?php
// Holen Sie sich alles mbstring Konfigurationsinformationen
$info = mb_get_info();
echo '<pre>';
print_r($info);
echo '</pre>';
?>
Das Ausgangsergebnis ist ähnlich:
Array
(
[internal_encoding] => UTF-8
[http_output] => UTF-8
[http_input] => UTF-8
[language] => neutral
[detect_order] => Array
(
[0] => ASCII
[1] => UTF-8
)
...
)
Mit diesen Informationen können Sie die Multibyte -Umgebung, von der das aktuelle Skript abhängt, intuitiv verstehen.
Manchmal kümmern wir uns nur um die interne Codierung. Zu diesem Zeitpunkt können Sie den Parameter Internal_encoding übergeben:
<?php
$internalEncoding = mb_get_info('internal_encoding');
echo "Der aktuelle interne Code ist:$internalEncoding";
?>
Ausgangsbeispiel:
Der aktuelle interne Code ist:UTF-8
Dies ist sehr hilfreich, um Codierungsprobleme zu debugieren und die Konsistenz sicherzustellen.
Wenn Sie beispielsweise eine mehrsprachige Website entwickeln , müssen Sie beispielsweise sicherstellen, dass alle Seiten mit UTF -8 einheitlich codiert werden.
Verarbeiten Sie Benutzereingabeinhalte , z. B. Kommentare oder Nachrichten, die von Formularen übermittelt wurden, um Probleme mit verstümmelten Code zu vermeiden.
Debuggen Sie die Charakterverarbeitungsfehler und überprüfen Sie die Mbstring -Einstellungen schnell, um schnell zu finden, ob das codierende inkonsistente Problem.
Manchmal sind die Standardcodierungseinstellungen im Projekt möglicherweise nicht für alle Situationen geeignet. Sie können es dynamisch mit mb_internal_encoding () ändern:
<?php
// Ändern Sie den internen Code in ISO-8859-1
mb_internal_encoding('ISO-8859-1');
// Überprüfen Sie die geänderten Einstellungen
echo mb_get_info('internal_encoding');
?>
Auf diese Weise können Sie nach der Geschäftslogik flexibel auf unterschiedliche Anforderungen reagieren.
Stellen Sie sicher, dass Ihre PHP -Umgebung die Mbtring -Erweiterung installiert und aktiviert hat.
Beachten Sie auch, dass Codierungsprobleme bei der Verarbeitung externer Eingaben (z. B. Daten aus der API oder externer Link https://gitbox.net/api/data ) verarbeitet werden.
Die von mb_get_info () zurückgegebenen Werte im Array können je nach PHP -Version und Konfiguration geringfügig variieren.
mb_get_info () ist ein leichtes und leistungsstarkes Tool, mit dem Sie die aktuelle Multibyte -Verarbeitungsumgebung von PHP -Skripten beherrschen können. Durch die rationale Verwendung können wir nicht nur das Codieren des Chaos vermeiden, sondern auch eine solide Grundlage für die Entwicklung hochwertiger, mehrsprachiger kompatibler Anwendungen legen.
Wenn Sie beim nächsten Mal auf Zeichen -Codierungsprobleme stoßen, vergessen Sie nicht, mb_get_info () zuerst die aktuelle Umgebung zu überprüfen!