L'extension MBSTring joue un rôle clé dans les projets PHP qui traitent du texte multilingue ou doivent assurer la cohérence du codage des personnages. La fonction mb_get_info () est un outil très pratique. Il vous permet de visualiser rapidement les informations de configuration de la MBSTring actuelle et de fournir une référence importante pour le dépannage des problèmes d'encodage des caractères.
MB_GET_INFO () est une fonction fournie par l'extension MBSTRING en PHP pour obtenir les informations de configuration de l'environnement de chaîne multipyte actuel.
mb_get_info(string $type = null): array|string|false
$ Type : Paramètre facultatif, spécifiant le type d'informations à récupérer. S'il est vide, toutes les informations sont retournées (retournées en tant que tableau associatif).
Valeur de retour: lorsque le type $ est spécifié, une chaîne est renvoyée; Si ce n'est pas spécifié, le tableau associatif est retourné.
print_r(mb_get_info());
La sortie est similaire à ce qui suit:
Array
(
[internal_encoding] => UTF-8
[http_input] => pass
[http_output] => pass
[input_encoding] => UTF-8
[output_encoding] => UTF-8
[language] => neutral
[encoding_translation] => Off
)
Cela signifie que le codage des caractères utilisé par PHP dans le script actuel est UTF-8.
Bien que MB_GET_INFO () lui-même ne lit pas directement le codage du fichier, nous pouvons l'utiliser en combinaison avec d'autres fonctions (telles que MB_DETECT_ENCODING () ) pour gérer le jugement de codage et la conversion des fichiers texte.
$content = file_get_contents('sample.txt');
$encoding = mb_detect_encoding($content, mb_list_encodings(), true);
echo "Encodage original:$encoding\n";
if ($encoding !== 'UTF-8') {
$content = mb_convert_encoding($content, 'UTF-8', $encoding);
file_put_contents('sample_utf8.txt', $content);
echo "Converti en UTF-8 et enregistrer dans un nouveau fichier。\n";
}
print_r(mb_get_info());
Lorsque vous traitez des commentaires d'utilisateurs ou du contenu d'article sur des sites Web multilingues tels que https://gitbox.net/blog.php , vous pouvez recevoir des données d'entrée avec différents codages. Avec mb_get_info () et mb_detect_encoding () , vous pouvez assurer un codage uniforme et éviter le code brouillé.
Supposons que vous obteniez des données d'une API externe (comme https://api.gitbox.net/v1/data ). Afin de vous assurer qu'il est affiché normalement sur la page, vous devez d'abord détecter le codage, puis le convertir.